fix: auto-run Prisma migrate + seed on container startup
This commit is contained in:
parent
adb18cbd75
commit
5c82bbbb79
@ -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/node_modules ./node_modules
|
||||||
COPY --from=backend /app/backend/package.json ./
|
COPY --from=backend /app/backend/package.json ./
|
||||||
COPY --from=backend /app/backend/prisma ./prisma
|
COPY --from=backend /app/backend/prisma ./prisma
|
||||||
|
COPY --from=backend /app/backend/seed.js ./seed.js
|
||||||
COPY --from=frontend /app/frontend/.output/public ./public
|
COPY --from=frontend /app/frontend/.output/public ./public
|
||||||
EXPOSE 3000
|
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
25
backend/seed.js
Normal 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());
|
||||||
Loading…
Reference in New Issue
Block a user