fix: migrations should be run out of process main
authorxangelo <me@xangelo.ca>
Thu, 12 Jun 2025 17:01:00 +0000 (13:01 -0400)
committerxangelo <me@xangelo.ca>
Thu, 12 Jun 2025 17:01:00 +0000 (13:01 -0400)
src/server.ts

index 2e8c19afe97f0798974b4d6d44a17e65436f7abc..cad6dd8dca75a6dbe4507b0bdc1340e954762bd5 100644 (file)
@@ -13,12 +13,7 @@ const db = knex({
   debug: process.env.DEBUG === 'true',
   connection: {
     filename: join('./data.db')
-  },
-  migrations: {
-    directory: join(__dirname, '../migrations'),
-    extension: 'ts'
-  },
-  useNullAsDefault: true
+  }
 });
 const parser = new Parser();
 const app = express();
@@ -124,24 +119,6 @@ async function queryFeeds() {
   setTimeout(queryFeeds, 1000 * 60);
 }
 
-// Migration runner function
-async function runMigrations() {
-  try {
-    console.log('Running database migrations...');
-    const [batchNo, log] = await db.migrate.latest();
-
-    if (log.length === 0) {
-      console.log('Database is already up to date');
-    } else {
-      console.log(`Batch ${batchNo} run: ${log.length} migrations`);
-      log.forEach((migration) => console.log(`- ${migration}`));
-    }
-  } catch (error) {
-    console.error('Migration failed:', error);
-    process.exit(1);
-  }
-}
-
 app.use(express.static(join(__dirname, 'public')));
 app.use(bodyParser.urlencoded({ extended: true }));
 app.use(express.json());
@@ -350,10 +327,6 @@ app.get('/admin/feeds', isAdmin, async (req, res) => {
 
 // Start the application
 async function startApp() {
-  // Run migrations first
-  await runMigrations();
-
-  // Then start the server
   app.listen(process.env.API_PORT, () => {
     console.log(`Listening on port ${process.env.API_PORT}`);
     console.log(`Feed refresh rate: ${FEED_REFRESH_RATE}m`);