55 lines
1.7 KiB
JavaScript
Executable File
55 lines
1.7 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
// Database setup script for Reason Flow
|
|
require('dotenv').config();
|
|
|
|
const { setupDatabase, getDatabaseInfo } = require('./server/utils/databaseManager');
|
|
const { checkDatabaseStatus } = require('./server/utils/databaseInit');
|
|
|
|
const main = async () => {
|
|
console.log('🚀 Reason Flow Database Setup');
|
|
console.log('==============================\n');
|
|
|
|
try {
|
|
// Check if database is accessible
|
|
console.log('1. Checking database connection...');
|
|
const connected = await checkDatabaseStatus();
|
|
if (!connected) {
|
|
console.error('❌ Database connection failed. Please check your database configuration.');
|
|
console.error(' Make sure PostgreSQL is running and your environment variables are set.');
|
|
process.exit(1);
|
|
}
|
|
console.log('✅ Database connection successful\n');
|
|
|
|
// Setup database
|
|
console.log('2. Setting up database schema...');
|
|
const setup = await setupDatabase({
|
|
force: false,
|
|
seed: true,
|
|
migrations: true
|
|
});
|
|
|
|
if (!setup) {
|
|
console.error('❌ Database setup failed');
|
|
process.exit(1);
|
|
}
|
|
console.log('✅ Database setup completed\n');
|
|
|
|
// Show database info
|
|
console.log('3. Database information:');
|
|
await getDatabaseInfo();
|
|
|
|
console.log('\n🎉 Database setup completed successfully!');
|
|
console.log('\nNext steps:');
|
|
console.log('1. Start the server: npm run dev');
|
|
console.log('2. Test the API: curl http://localhost:8000/api/health');
|
|
console.log('3. Check model status: curl http://localhost:8000/api/models/status');
|
|
|
|
} catch (error) {
|
|
console.error('\n❌ Setup failed:', error.message);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
main();
|