mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-09-01 16:31:25 +03:00
Add support for SQLite and PostgreSQL. Also add/fix encryption...
...for a smaller number of fields
This commit is contained in:
22
scripts/prisma.js
Normal file
22
scripts/prisma.js
Normal file
@@ -0,0 +1,22 @@
|
||||
require('dotenv').config();
|
||||
const fs = require('fs-extra');
|
||||
// const { promisify } = require('util');
|
||||
// const exec = promisify(require('child_process').exec);
|
||||
const { spawnSync } = require('child_process');
|
||||
|
||||
const providers = ['mysql', 'postgresql', 'sqlite'];
|
||||
const provider = process.env.DB_PROVIDER;
|
||||
if (!providers.includes(provider)) throw new Error(`DB_PROVIDER must be one of: ${providers}`);
|
||||
|
||||
if (!fs.existsSync('./prisma')) fs.mkdirSync('./prisma');
|
||||
fs.copySync(`./db/${provider}`, './prisma'); // copy schema & migrations
|
||||
|
||||
npx('prisma generate');
|
||||
npx('prisma migrate deploy');
|
||||
|
||||
function npx(cmd) {
|
||||
const child = spawnSync('npx', cmd.split(/\s/));
|
||||
if (child.stdout) console.log(child.stdout.toString());
|
||||
if (child.stderr) console.log(child.stderr.toString());
|
||||
if (child.status) process.exit(child.status);
|
||||
}
|
Reference in New Issue
Block a user