mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-13 07:04:50 -06:00
Add Windows support for database deployment and improve error handling in runWithProvider.js
This commit is contained in:
parent
09a33a423e
commit
bfd8c08987
@ -13,6 +13,7 @@
|
|||||||
"lint": "eslint --fix --ext .ts src",
|
"lint": "eslint --fix --ext .ts src",
|
||||||
"db:generate": "node runWithProvider.js \"npx prisma generate --schema ./prisma/DATABASE_PROVIDER-schema.prisma\"",
|
"db:generate": "node runWithProvider.js \"npx prisma generate --schema ./prisma/DATABASE_PROVIDER-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": "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:win": "node runWithProvider.js \"xcopy /E /I prisma\\DATABASE_PROVIDER-migrations prisma\\migrations && npx prisma migrate deploy --schema prisma\\DATABASE_PROVIDER-schema.prisma\"",
|
||||||
"db:studio": "node runWithProvider.js \"npx prisma studio --schema ./prisma/DATABASE_PROVIDER-schema.prisma\"",
|
"db:studio": "node runWithProvider.js \"npx prisma studio --schema ./prisma/DATABASE_PROVIDER-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: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\""
|
||||||
},
|
},
|
||||||
@ -115,4 +116,4 @@
|
|||||||
"tsconfig-paths": "^4.2.0",
|
"tsconfig-paths": "^4.2.0",
|
||||||
"typescript": "^5.5.4"
|
"typescript": "^5.5.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,19 +1,31 @@
|
|||||||
const dotenv = require('dotenv');
|
const dotenv = require('dotenv');
|
||||||
const { execSync } = require('child_process');
|
const { execSync } = require('child_process');
|
||||||
|
const { existsSync } = require('fs');
|
||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const { DATABASE_PROVIDER } = process.env;
|
const { DATABASE_PROVIDER } = process.env;
|
||||||
const databaseProviderDefault = DATABASE_PROVIDER ?? "postgresql"
|
const databaseProviderDefault = DATABASE_PROVIDER ?? 'postgresql';
|
||||||
|
|
||||||
if (!DATABASE_PROVIDER) {
|
if (!DATABASE_PROVIDER) {
|
||||||
console.error(`DATABASE_PROVIDER is not set in the .env file, using default: ${databaseProviderDefault}`);
|
console.warn(`DATABASE_PROVIDER is not set in the .env file, using default: ${databaseProviderDefault}`);
|
||||||
// process.exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const command = process.argv
|
let command = process.argv
|
||||||
.slice(2)
|
.slice(2)
|
||||||
.join(' ')
|
.join(' ')
|
||||||
.replace(/\DATABASE_PROVIDER/g, databaseProviderDefault);
|
.replace(/DATABASE_PROVIDER/g, databaseProviderDefault);
|
||||||
|
|
||||||
|
if (command.includes('rmdir') && existsSync('prisma\\migrations')) {
|
||||||
|
try {
|
||||||
|
execSync('rmdir /S /Q prisma\\migrations', { stdio: 'inherit' });
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Error removing directory: prisma\\migrations`);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
} else if (command.includes('rmdir')) {
|
||||||
|
console.warn(`Directory 'prisma\\migrations' does not exist, skipping removal.`);
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
execSync(command, { stdio: 'inherit' });
|
execSync(command, { stdio: 'inherit' });
|
||||||
|
Loading…
Reference in New Issue
Block a user