mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import 'dotenv/config';
|
|
import { drizzle } from 'drizzle-orm/node-postgres';
|
|
import pg from 'pg';
|
|
import * as schema from './schema';
|
|
|
|
// create the connection
|
|
const pool = new pg.Pool({
|
|
user: process.env.DATABASE_USER,
|
|
password: process.env.DATABASE_PASSWORD,
|
|
host: process.env.DATABASE_HOST,
|
|
port: new Number(process.env.DATABASE_PORT).valueOf(),
|
|
database: process.env.DATABASE_DB,
|
|
ssl: process.env.DATABASE_HOST === 'localhost' ? false : true
|
|
});
|
|
|
|
const db = drizzle(pool, { schema: schema });
|
|
|
|
const existingRoles = await db.query.roles.findMany();
|
|
console.log('Existing roles', existingRoles);
|
|
console.log('Creating roles ...');
|
|
await db
|
|
.insert(schema.roles)
|
|
.values([{ name: 'admin' }])
|
|
.onConflictDoNothing();
|
|
await db
|
|
.insert(schema.roles)
|
|
.values([{ name: 'user' }])
|
|
.onConflictDoNothing();
|
|
await db
|
|
.insert(schema.roles)
|
|
.values([{ name: 'editor' }])
|
|
.onConflictDoNothing();
|
|
console.log('Roles created.');
|
|
await db
|
|
.insert(schema.roles)
|
|
.values([{ name: 'moderator' }])
|
|
.onConflictDoNothing();
|
|
console.log('Roles created.');
|
|
|
|
await pool.end();
|
|
process.exit();
|