neon-drizzle-stinger

Guides Neon Postgres and Drizzle ORM setup, migrations, and Supabase cutovers on SvelteKit and Vercel.

84|37|Updated May 23, 2026
One-click install
npx skills add https://github.com/legioncodeinc/vibe-coding-tools --skill neon-drizzle-stinger-legioncodeinc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: neon-drizzle-stinger
Source: https://github.com/legioncodeinc/vibe-coding-tools/tree/main/src/skills/neon-drizzle-stinger
Command: npx skills add https://github.com/legioncodeinc/vibe-coding-tools --skill neon-drizzle-stinger-legioncodeinc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Teams running Neon Postgres with Drizzle ORM on SvelteKit and Vercel repeatedly hit the same mistakes: wrong driver for the runtime, pooled connections used for migrations, unsafe drizzle-kit push against production data, and incomplete Supabase migrations that silently break user foreign keys. This Skill encodes cited, decision-tree-driven guidance so those choices are made correctly the first time. ## Core Features & Use Cases - Connection and driver decisions: Choose pooled vs direct connections and the right driver (pg with attachDatabasePool on Vercel Fluid, @neondatabase/serverless on Edge) per route, with a printable decision matrix. - Schema, migrations, and branching: Design Drizzle schemas with relations and indexes, run generate/migrate workflows safely, and wire Neon's branch-per-PR GitHub Actions flow with schema-diff PR comments. - Supabase migration: Execute pg_dump/pg_restore cutovers, remap user IDs after switching auth to WorkOS, translate RLS policies, and plan replacements for Storage and Realtime, which have no Neon-native equivalent. - Use Case: Migrating a Supabase-backed SvelteKit app to Neon: the Skill walks you through dumping the database, rewriting auth.uid() policies to auth.user_id(), remapping every user_id foreign key via an email mapping table, and flagging that Storage and Realtime need separate replacements. ## Quick Start Ask the agent to review your Drizzle schema and drizzle.config.ts and recommend the correct Neon connection pattern and migration workflow for your SvelteKit app on Vercel.

Frequently Asked Questions about neon-drizzle-stinger

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between pooled and direct Neon connection strings?▼

Use the pooled connection string (hostname with -pooler suffix) for runtime queries in SvelteKit load functions and API routes. Use the direct string for drizzle-kit migrations, pg_dump/pg_restore, logical replication, and anything needing LISTEN/NOTIFY or session-level SET, since PgBouncer transaction mode does not support those.

Which Postgres driver should I use on Vercel with Neon?▼

On Vercel Fluid compute (the default Node runtime), use pg (node-postgres) with @vercel/functions attachDatabasePool, which is the lowest-latency option once warm. Reserve @neondatabase/serverless HTTP or WebSocket for routes explicitly running on the Edge runtime, which cannot open raw TCP sockets.

Why is drizzle-kit push dangerous in production?▼

drizzle-kit push diffs the schema against the live database and applies changes immediately with no SQL file or history to review. Its --force flag auto-approves statements that may truncate tables or delete data, so the official recommendation is generate plus migrate for anything beyond local prototyping.

How do I migrate user IDs when moving from Supabase Auth to WorkOS?▼

WorkOS assigns new user IDs, so every user_id foreign key must be remapped. Export Supabase users with email and old ID, import into WorkOS, then build a temporary email-to-old-id-to-new-id mapping table and update every user_id column before dropping the mapping table.

Does Neon require Row Level Security like Supabase does?▼

RLS is mandatory on Neon only if you use the Neon Data API, which lets browsers query Postgres directly. A SvelteKit app with a server-only Drizzle client can enforce authorization in server code instead, treating RLS as optional defense-in-depth for sensitive tables.

What Supabase features have no Neon equivalent after migration?▼

Supabase Storage and Supabase Realtime have no Neon-native replacement. Plan separately for object storage such as S3, Cloudflare R2, or Vercel Blob, and for realtime via a WebSocket service, Postgres LISTEN/NOTIFY over a direct connection, or a third-party provider.