Files
erp-system/prisma/seed.ts
T
2026-05-20 18:58:23 +00:00

43 lines
1.0 KiB
TypeScript

// /opt/erp-system/prisma/seed.ts
import { PrismaClient } from '@prisma/client';
import { PrismaPg } from '@prisma/adapter-pg';
import { Pool } from 'pg';
import bcrypt from 'bcryptjs';
import * as dotenv from 'dotenv';
// Umgebungsvariablen laden
dotenv.config();
// Prisma mit dem PostgreSQL-Adapter initialisieren
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
const adapter = new PrismaPg(pool);
const prisma = new PrismaClient({ adapter });
async function main() {
const hashedPassword = await bcrypt.hash('admin123', 10);
const admin = await prisma.user.upsert({
where: { email: 'admin@erp.local' },
update: {},
create: {
email: 'admin@erp.local',
firstName: 'System',
lastName: 'Admin',
passwordHash: hashedPassword,
role: 'ADMIN',
},
});
console.log('Initianler Admin erstellt:', admin.email);
}
main()
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(async () => {
// Verbindung sauber trennen
await pool.end();
});