30 lines
900 B
TypeScript
30 lines
900 B
TypeScript
import { db } from './index';
|
|
import { sql } from 'drizzle-orm';
|
|
|
|
async function seed() {
|
|
console.log('Clearing all user data...');
|
|
|
|
// Disable FK constraints
|
|
await db.execute(sql`SET session_replication_role = 'replica'`);
|
|
|
|
// Get all tables and truncate them
|
|
const tables = await db.execute(sql`
|
|
SELECT tablename FROM pg_tables WHERE schemaname = 'public'
|
|
`);
|
|
|
|
for (const row of tables as any) {
|
|
const table = (row as any).tablename;
|
|
if (table.startsWith('__drizzle') || table.startsWith('pgboss')) continue;
|
|
console.log(` Truncating ${table}...`);
|
|
await db.execute(sql.raw(`TRUNCATE TABLE "${table}" CASCADE`));
|
|
}
|
|
|
|
// Re-enable FK constraints
|
|
await db.execute(sql`SET session_replication_role = 'origin'`);
|
|
|
|
console.log('Database cleared! No accounts exist.');
|
|
process.exit(0);
|
|
}
|
|
|
|
seed().catch(e => { console.error(e); process.exit(1); });
|