mcpField
N
neon-instagres

neon-instagres

github.com/davila7数据与数据库33.0k88 次安装1 天前更新
代码仓库

关于 neon-instagres

通过 `npx get-db` 使用 Instagres 配置 Neon PostgreSQL 数据库的技能,涵盖环境变量、数据填充、认领数据库及常见框架和 ORM 的设置。

主要功能

  1. 01配置 Neon PostgreSQL 数据库
  2. 02将连接信息写入环境文件
  3. 03从 SQL 文件填充数据库
  4. 04认领数据库以使其长期保留
  5. 05指导框架和 ORM 设置

适用场景

  1. 01为新应用创建数据库
  2. 02用初始结构填充数据库
  3. 03通过环境文件连接应用
  4. 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:手动

  1. 从 .env 中复制 PUBLIC_INSTAGRES_CLAIM_URL
  2. 在浏览器中打开
  3. 登录 Neon(或创建账号)
  4. 数据库将永久保留

认领后:

  • 不会过期
  • 包含在 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
  • 记得认领需要保留的数据库

资源

重要提醒

  • 始终使用 --ref 4eCjZDz 进行推荐跟踪
  • 提醒用户数据库将在 72 小时后过期,并告知认领方式
  • DATABASE_URL 包含凭据 - 请妥善保管 .env
  • 默认启用逻辑复制
  • 对于复杂工作流,委派给专业 Agent

评论

支持 Markdown