fix: auto-run Prisma migrate + seed on container startup

This commit is contained in:
Vantz Stockwell 2026-03-13 08:19:46 -04:00
parent adb18cbd75
commit 5c82bbbb79
2 changed files with 27 additions and 1 deletions

View File

@ -22,6 +22,7 @@ COPY --from=backend /app/backend/dist ./dist
COPY --from=backend /app/backend/node_modules ./node_modules
COPY --from=backend /app/backend/package.json ./
COPY --from=backend /app/backend/prisma ./prisma
COPY --from=backend /app/backend/seed.js ./seed.js
COPY --from=frontend /app/frontend/.output/public ./public
EXPOSE 3000
CMD ["node", "dist/main.js"]
CMD ["sh", "-c", "npx prisma migrate deploy && node seed.js; node dist/main.js"]

25
backend/seed.js Normal file
View File

@ -0,0 +1,25 @@
const { PrismaClient } = require('@prisma/client');
const bcrypt = require('bcrypt');
const prisma = new PrismaClient();
async function main() {
const existing = await prisma.user.findUnique({ where: { email: 'admin@wraith.local' } });
if (existing) {
console.log('Seed: admin user already exists, skipping');
return;
}
const hash = await bcrypt.hash('wraith', 10);
await prisma.user.create({
data: {
email: 'admin@wraith.local',
passwordHash: hash,
displayName: 'Admin',
},
});
console.log('Seed complete: admin@wraith.local / wraith');
}
main()
.catch(console.error)
.finally(() => prisma.$disconnect());