From 3bb5a4999d19932564a94df8e065665e1ad6c367 Mon Sep 17 00:00:00 2001
From: Lars Hampe <hello@hashdot.co>
Date: Tue, 1 Oct 2024 20:58:51 +0200
Subject: [PATCH] feat(api): await startup

---
 apps/api/src/index.ts              |  2 +-
 apps/api/src/utils/startup.ts      |  4 ++--
 packages/database/src/migration.ts | 11 +++++++++--
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts
index 32806df..3825cfc 100644
--- a/apps/api/src/index.ts
+++ b/apps/api/src/index.ts
@@ -42,7 +42,7 @@ app.get(
   }),
 )
 
-startup()
+await startup()
 export default {
   port: 3000,
   fetch: app.fetch,
diff --git a/apps/api/src/utils/startup.ts b/apps/api/src/utils/startup.ts
index 6e47574..4f8a805 100644
--- a/apps/api/src/utils/startup.ts
+++ b/apps/api/src/utils/startup.ts
@@ -9,7 +9,7 @@ declare module 'bun' {
   }
 }
 
-export const startup = () => {
+export const startup = async () => {
   if (import.meta.env.NODE_ENV === 'test') {
     if (!import.meta.env.POSTGRES_URL) {
       console.error('Env Var POSTGRES_URL is missing!')
@@ -30,5 +30,5 @@ export const startup = () => {
     }
   })
 
-  migrateDatabase()
+  await migrateDatabase()
 }
diff --git a/packages/database/src/migration.ts b/packages/database/src/migration.ts
index 616a342..8106f17 100644
--- a/packages/database/src/migration.ts
+++ b/packages/database/src/migration.ts
@@ -3,6 +3,13 @@ import { migrate } from 'drizzle-orm/postgres-js/migrator'
 import { client, db } from './'
 
 export const migrateDatabase = async () => {
-  await migrate(db, { migrationsFolder: path.join(__dirname, 'migrations') })
-  await client.end()
+  try {
+    console.log(__dirname)
+    await migrate(db, { migrationsFolder: path.join(__dirname, 'migrations') })
+    await client.end()
+    console.log('Migrations: Ok')
+  } catch (error) {
+    console.error('Migrations: Failed')
+    console.error(error)
+  }
 }