aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/migrate.js21
1 files changed, 5 insertions, 16 deletions
diff --git a/scripts/migrate.js b/scripts/migrate.js
index dee9411..656c752 100644
--- a/scripts/migrate.js
+++ b/scripts/migrate.js
@@ -1,22 +1,11 @@
import { createClient } from '@libsql/client';
-import { readdirSync, readFileSync } from 'node:fs';
-import { join } from 'node:path';
+import { drizzle } from 'drizzle-orm/libsql';
+import { migrate } from 'drizzle-orm/libsql/migrator';
const dbUrl = process.env.DATABASE_URL ?? 'file:./data/data.db';
const client = createClient({ url: dbUrl });
+const db = drizzle(client);
-const dir = '/app/drizzle';
-const files = readdirSync(dir)
- .filter((f) => f.endsWith('.sql'))
- .sort();
-
-for (const file of files) {
- const sql = readFileSync(join(dir, file), 'utf8');
- const stmts = sql.split('--> statement-breakpoint').filter(Boolean);
- for (const stmt of stmts) {
- await client.execute(stmt);
- }
-}
-
-console.log(`${files.length} migration(s) applied.`);
+await migrate(db, { migrationsFolder: './drizzle' });
+console.log('Migrations applied successfully');
client.close();