Index: docker-entrypoint.sh
===================================================================
--- docker-entrypoint.sh	(revision 05361b8cfd0e4afeb99754097f93f835252ac1c9)
+++ docker-entrypoint.sh	(revision cc841a5c078f39675db8cc9e7f86266f7b59e4ef)
@@ -8,12 +8,17 @@
 done
 
-echo "Generating migrations..."
-npm run drizzle:generate
+echo "Checking if database needs migration..."
+TABLE_COUNT=$(psql -h db -U app -d postgres -t -c "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='public';" 2>/dev/null || echo "0")
 
-echo "Running migrations..."
-npm run drizzle:migrate
+if [ "$TABLE_COUNT" -eq "0" ]; then
+  echo "Database is empty, running migrations..."
+  npm run drizzle:generate
+  npm run drizzle:migrate
 
-echo "Seeding database..."
-npm run drizzle:seed
+  echo "Seeding database..."
+  npm run drizzle:seed
+else
+  echo "Database already initialized (found $TABLE_COUNT tables), skipping migrations and seed"
+fi
 
 echo "Starting application..."
