mirror of
https://github.com/f/awesome-chatgpt-prompts.git
synced 2026-03-03 02:57:01 +00:00
chore(scripts): update database setup in setup.js
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
"db:studio": "prisma studio",
|
||||
"db:seed": "prisma db seed",
|
||||
"db:resetadmin": "npx tsx prisma/reset-admin.ts",
|
||||
"db:setup": "prisma generate && prisma migrate dev && db:seed",
|
||||
"db:setup": "prisma generate && prisma migrate dev && prisma db seed",
|
||||
"setup": "node scripts/setup.js",
|
||||
"generate:examples": "npx tsx scripts/generate-examples.ts",
|
||||
"postinstall": "prisma generate"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const crypto = require('crypto');
|
||||
const { execSync, spawn } = require('child_process');
|
||||
const p = require('@clack/prompts');
|
||||
const color = require('picocolors');
|
||||
|
||||
@@ -502,6 +503,46 @@ async function main() {
|
||||
|
||||
s.stop('Created .env file');
|
||||
|
||||
// === DATABASE SETUP ===
|
||||
const setupDb = await p.confirm({
|
||||
message: 'Create database and run migrations now?',
|
||||
initialValue: true,
|
||||
});
|
||||
|
||||
if (!p.isCancel(setupDb) && setupDb) {
|
||||
// Create database
|
||||
s.start(`Creating database "${config.env.database.database}"...`);
|
||||
try {
|
||||
const createDbCmd = `createdb -h ${config.env.database.host} -p ${config.env.database.port} -U ${config.env.database.username} ${config.env.database.database}`;
|
||||
execSync(createDbCmd, {
|
||||
stdio: 'pipe',
|
||||
env: { ...process.env, PGPASSWORD: config.env.database.password }
|
||||
});
|
||||
s.stop(`Created database "${config.env.database.database}"`);
|
||||
} catch (err) {
|
||||
if (err.message.includes('already exists')) {
|
||||
s.stop(`Database "${config.env.database.database}" already exists`);
|
||||
} else {
|
||||
s.stop(color.yellow(`Could not create database (may already exist or createdb not available)`));
|
||||
p.log.warn(`You may need to create the database manually: createdb ${config.env.database.database}`);
|
||||
}
|
||||
}
|
||||
|
||||
// Run db:setup (generate + migrate + seed)
|
||||
s.start('Running database setup (prisma generate + migrate)...');
|
||||
try {
|
||||
execSync('npm run db:setup', {
|
||||
stdio: 'inherit',
|
||||
cwd: path.join(__dirname, '..'),
|
||||
env: { ...process.env, DATABASE_URL: config.env.databaseUrl }
|
||||
});
|
||||
s.stop('Database setup complete');
|
||||
} catch (err) {
|
||||
s.stop(color.red('Database setup failed'));
|
||||
p.log.error('Run manually: npm run db:setup');
|
||||
}
|
||||
}
|
||||
|
||||
// === ADDITIONAL ENV VARS NEEDED ===
|
||||
const additionalEnvVars = [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user