2020-08-21 08:45:44 +00:00
|
|
|
require('dotenv').config();
|
2022-06-12 06:38:58 +00:00
|
|
|
const fse = require('fs-extra');
|
2020-08-21 08:45:44 +00:00
|
|
|
const path = require('path');
|
2022-06-22 16:32:58 +00:00
|
|
|
const del = require('del');
|
2020-08-21 08:45:44 +00:00
|
|
|
|
2022-06-22 08:50:33 +00:00
|
|
|
function getDatabaseType() {
|
2020-09-04 18:06:32 +00:00
|
|
|
const type =
|
|
|
|
|
process.env.DATABASE_TYPE ||
|
|
|
|
|
(process.env.DATABASE_URL && process.env.DATABASE_URL.split(':')[0]);
|
|
|
|
|
|
|
|
|
|
if (type === 'postgres') {
|
|
|
|
|
return 'postgresql';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return type;
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-22 08:50:33 +00:00
|
|
|
const databaseType = getDatabaseType();
|
2020-08-21 08:45:44 +00:00
|
|
|
|
2020-08-30 22:29:31 +00:00
|
|
|
if (!databaseType || !['mysql', 'postgresql'].includes(databaseType)) {
|
|
|
|
|
throw new Error('Missing or invalid database');
|
2020-08-21 08:45:44 +00:00
|
|
|
}
|
|
|
|
|
|
2020-09-04 18:06:32 +00:00
|
|
|
console.log(`Database type detected: ${databaseType}`);
|
2020-08-21 09:04:28 +00:00
|
|
|
|
2022-06-19 07:07:01 +00:00
|
|
|
const src = path.resolve(__dirname, `../db/${databaseType}`);
|
|
|
|
|
const dest = path.resolve(__dirname, '../prisma');
|
2020-08-21 08:45:44 +00:00
|
|
|
|
2022-06-22 16:32:58 +00:00
|
|
|
del.sync(dest);
|
|
|
|
|
|
2022-06-19 07:07:01 +00:00
|
|
|
fse.copySync(src, dest);
|
2020-08-21 09:04:28 +00:00
|
|
|
|
|
|
|
|
console.log(`Copied ${src} to ${dest}`);
|