Create database migration scripts following project patterns. Use when user mentions "migration", "add column", "alter table", "schema change", or "database update".
Create migration scripts for Neon PostgreSQL following project conventions.
Read current schema:
prisma/schema.sql for table definitionssrc/lib/db.ts for TypeScript interfacesCreate migration script in scripts/ directory:
<action>-<description>.mjs (e.g., add-views-column.mjs)scripts/add-summary-column.mjsMigration script template:
import { neon } from '@neondatabase/serverless';
import { config } from 'dotenv';
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
config({ path: join(__dirname, '..', '.env.local') });
const sql = neon(process.env.DATABASE_URL);
async function migrate() {
console.log('Running migration...');
await sql`
ALTER TABLE table_name
ADD COLUMN IF NOT EXISTS column_name TYPE
`;
console.log('Migration complete!');
}
migrate().catch(console.error);
Update src/lib/db.ts:
Update prisma/schema.sql:
IF NOT EXISTS or IF EXISTS for safetycurl localhost:3000/api/admin/articles/export