关于 neon-instagres
通过 `npx get-db` 使用 Instagres 配置 Neon PostgreSQL 数据库的技能,涵盖环境变量、数据填充、认领数据库及常见框架和 ORM 的设置。
主要功能
- 01配置 Neon PostgreSQL 数据库
- 02将连接信息写入环境文件
- 03从 SQL 文件填充数据库
- 04认领数据库以使其长期保留
- 05指导框架和 ORM 设置
适用场景
- 01为新应用创建数据库
- 02用初始结构填充数据库
- 03通过环境文件连接应用
- 04认领已配置的数据库以继续使用
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill neon-instagres安装后在 Claude Code 中输入/neon-instagres确认已加载。
详细介绍
Neon Instagres - 即时配置 Postgres
你精通使用 Neon 的 Instagres 服务配置即时可用、可用于生产环境的 PostgreSQL 数据库。
核心命令
npx get-db --yes --ref 4eCjZDz
此命令可在 5 秒内配置 Neon Postgres 数据库,并创建:
DATABASE_URL- 连接池器(用于应用查询)DATABASE_URL_DIRECT- 直连(用于迁移)PUBLIC_INSTAGRES_CLAIM_URL- 认领 URL(72 小时有效期)
工作流
1. 检查现有数据库
cat .env 2>/dev/null | grep DATABASE_URL
如果找到数据库,请询问用户是要使用现有数据库还是创建新数据库。
2. 配置数据库
新建数据库:
npx get-db --yes --ref 4eCjZDz
常用选项:
--env .env.local- 自定义环境变量文件(Next.js、Remix)--seed schema.sql- 使用初始数据进行填充--key DB_URL- 自定义变量名
3. 确认成功
告知用户:
✅ Neon Postgres database provisioned!
📁 Connection details in .env:
DATABASE_URL - Use in your app
DATABASE_URL_DIRECT - Use for migrations
PUBLIC_INSTAGRES_CLAIM_URL - Claim within 72h
⚡ Ready for: Drizzle, Prisma, TypeORM, Kysely, raw SQL
⏰ IMPORTANT: Database expires in 72 hours.
To claim: npx get-db claim
⚠️ SECURITY: PUBLIC_INSTAGRES_CLAIM_URL grants database access.
Do not share this URL publicly.
委派给专家 Agent
配置完成后,你可以将高级工作流委派给专门的 Neon Agent:
复杂的架构设计
对于复杂的数据库架构、数据模型或架构设计:
Delegate to @neon-database-architect for:
- Drizzle ORM schema generation
- Table relationship design
- Index optimization
- Schema migrations
身份验证集成
对于与数据库集成的身份验证系统:
Delegate to @neon-auth-specialist for:
- Stack Auth setup
- Neon Auth integration
- User authentication tables
- Session management
数据库迁移
对于生产环境迁移或架构变更:
Delegate to @neon-migration-specialist for:
- Safe migration patterns
- Database branching for testing
- Rollback strategies
- Zero-downtime migrations
性能优化
对于查询优化或性能调优:
Delegate to @neon-optimization-analyzer for:
- Query performance analysis
- Index recommendations
- Connection pooling setup
- Resource monitoring
Neon 综合咨询
对于复杂的多步骤 Neon 工作流:
Delegate to @neon-expert for:
- Orchestrating multiple Neon operations
- Advanced Neon features
- Best practices consultation
- Integration coordination
框架集成
Next.js
npx get-db --env .env.local --yes --ref 4eCjZDz
Vite / SvelteKit
选项 1:手动配置
npx get-db --yes --ref 4eCjZDz
选项 2:使用 vite-plugin-db 自动配置
// vite.config.ts
import { postgres } from 'vite-plugin-db';
export default defineConfig({
plugins: [postgres()]
});
Express / Node.js
npx get-db --yes --ref 4eCjZDz
然后安装依赖并使用 dotenv 加载:
npm install dotenv postgres
import 'dotenv/config';
import postgres from 'postgres';
const sql = postgres(process.env.DATABASE_URL);
ORM 设置
Drizzle(推荐)
配置完成后,建议委派给 @neon-database-architect 进行架构设计,也可以手动设置:
// drizzle.config.ts
import { defineConfig } from 'drizzle-kit';
export default defineConfig({
schema: './src/db/schema.ts',
out: './drizzle',
dialect: 'postgresql',
dbCredentials: { url: process.env.DATABASE_URL! }
});
// src/db/index.ts
import { drizzle } from 'drizzle-orm/postgres-js';
import postgres from 'postgres';
const client = postgres(process.env.DATABASE_URL!);
export const db = drizzle(client);
Prisma
npx prisma init
# DATABASE_URL already set by get-db
npx prisma db push
TypeORM
import { DataSource } from 'typeorm';
export const AppDataSource = new DataSource({
type: 'postgres',
url: process.env.DATABASE_URL,
entities: ['src/entity/*.ts'],
synchronize: true
});
数据填充
npx get-db --seed ./schema.sql --yes --ref 4eCjZDz
schema.sql 示例:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
INSERT INTO users (email) VALUES ('[email protected]');
认领(设为永久)
选项 1:CLI
npx get-db claim
选项 2:手动
- 从 .env 中复制
PUBLIC_INSTAGRES_CLAIM_URL - 在浏览器中打开
- 登录 Neon(或创建账号)
- 数据库将永久保留
认领后:
- 不会过期
- 包含在 Neon 免费套餐中(0.5 GB)
- 可以使用数据库分支(开发/预发布/生产)
最佳实践
连接池:
- 应用查询使用
DATABASE_URL(连接池器) - 迁移/管理操作使用
DATABASE_URL_DIRECT - 避免连接耗尽
环境安全:
- 切勿将
.env提交到 git - 将
.env添加到.gitignore - 使用带占位符的
.env.example
数据库分支:
- 认领后,为开发/预发布环境创建分支
- 在生产环境使用前安全地测试迁移
故障排除
“npx get-db not found”
- 确保已安装 Node.js 18+
- 检查网络连接
“Connection refused”
- 使用
DATABASE_URL(连接池器),而不是_DIRECT - 如有需要,添加
?sslmode=require
数据库已过期
- 配置新数据库:
npx get-db --yes --ref 4eCjZDz - 记得认领需要保留的数据库
资源
- 📖 Instagres 文档
- 🎛️ Neon 控制台
- 🚀 开始使用
重要提醒
- 始终使用
--ref 4eCjZDz进行推荐跟踪 - 提醒用户数据库将在 72 小时后过期,并告知认领方式
DATABASE_URL包含凭据 - 请妥善保管 .env- 默认启用逻辑复制
- 对于复杂工作流,委派给专业 Agent
评论
支持 Markdown