Improve database scripts to retrieve the provider from env file

This commit is contained in:
Judson Cairo 2024-08-11 16:29:42 -03:00
parent feb7b795e9
commit 66ae86b6f5
2 changed files with 27 additions and 6 deletions

View File

@ -10,12 +10,11 @@
"dev:server": "clear && tsnd --files --transpile-only --respawn --ignore-watch node_modules ./src/main.ts", "dev:server": "clear && tsnd --files --transpile-only --respawn --ignore-watch node_modules ./src/main.ts",
"test": "clear && tsnd --files --transpile-only --respawn --ignore-watch node_modules ./test/all.test.ts", "test": "clear && tsnd --files --transpile-only --respawn --ignore-watch node_modules ./test/all.test.ts",
"lint": "eslint --fix --ext .ts src", "lint": "eslint --fix --ext .ts src",
"db:generate:postgres": "npx prisma generate --schema ./prisma/postgresql-schema.prisma",
"db:generate:mysql": "npx prisma generate --schema ./prisma/mysql-schema.prisma", "db:generate": "node runWithProvider.js \"npx prisma generate --schema ./prisma/DATABASE_PROVIDER-schema.prisma\"",
"db:deploy:postgres": "rm -rf ./prisma/migrations && cp -r ./prisma/postgresql-migrations ./prisma/migrations && npx prisma migrate deploy --schema ./prisma/postgresql-schema.prisma", "db:deploy": "node runWithProvider.js \"rm -rf ./prisma/migrations && cp -r ./prisma/DATABASE_PROVIDER-migrations ./prisma/migrations && npx prisma migrate deploy --schema ./prisma/DATABASE_PROVIDER-schema.prisma\"",
"db:deploy:mysql": "rm -rf ./prisma/migrations && cp -r ./prisma/mysql-migrations ./prisma/migrations && npx prisma migrate deploy --schema ./prisma/mysql-schema.prisma", "db:studio": "node runWithProvider.js \"npx prisma studio --schema ./prisma/DATABASE_PROVIDER-schema.prisma\"",
"db:studio:postgres": "npx prisma studio --schema ./prisma/postgresql-schema.prisma", "db:migrate:dev": "node runWithProvider.js \"rm -rf ./prisma/migrations && cp -r ./prisma/DATABASE_PROVIDER-migrations ./prisma/migrations && npx prisma migrate dev --schema ./prisma/DATABASE_PROVIDER-schema.prisma && cp -r ./prisma/migrations/* ./prisma/DATABASE_PROVIDER-migrations\""
"db:studio:mysql": "npx prisma studio --schema ./prisma/mysql-schema.prisma"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

22
runWithProvider.js Normal file
View File

@ -0,0 +1,22 @@
const dotenv = require('dotenv');
const { execSync } = require('child_process');
dotenv.config();
const { DATABASE_PROVIDER } = process.env;
if (!DATABASE_PROVIDER) {
console.error('DATABASE_PROVIDER is not set in the .env file');
process.exit(1);
}
const command = process.argv
.slice(2)
.join(' ')
.replace(/\DATABASE_PROVIDER/g, DATABASE_PROVIDER);
try {
execSync(command, { stdio: 'inherit' });
} catch (error) {
console.error(`Error executing command: ${command}`);
process.exit(1);
}