source: init-schema.js@ 679113b

main
Last change on this file since 679113b was d8deee6, checked in by GitHub <noreply@…>, 3 months ago

Add files via upload

  • Property mode set to 100644
File size: 2.2 KB
RevLine 
[d8deee6]1// Schema initializer script
2require('dotenv').config();
3const { Pool } = require('pg');
4const fs = require('fs');
5const path = require('path');
6
7const pool = new Pool({
8 user: process.env.DB_USER,
9 host: process.env.DB_HOST,
10 database: process.env.DB_NAME,
11 password: process.env.DB_PASSWORD,
12 port: parseInt(process.env.DB_PORT, 10),
13 ssl: { rejectUnauthorized: false }
14});
15
16async function initializeSchema() {
17 try {
18 console.log('📂 Reading schema file...');
19 const schemaFile = path.join(__dirname, 'schema_creation (1).sql');
20 const schemaSql = fs.readFileSync(schemaFile, 'utf8');
21
22 console.log('🗄️ Executing schema creation...');
23 await pool.query(schemaSql);
24
25 console.log('✅ Schema created successfully!');
26 console.log('\nTables created:');
27 console.log(' - project.user');
28 console.log(' - project.wedding');
29 console.log(' - project.event');
30 console.log(' - project.guest');
31 console.log(' - project.event_rsvp');
32 console.log(' - project.attendance');
33 console.log(' - project.venue');
34 console.log(' - project.venue_booking');
35 console.log(' - project.church');
36 console.log(' - project.priest');
37 console.log(' - project.photographer');
38 console.log(' - project.vendor');
39 console.log(' - project.budget_item');
40 console.log(' - project.event_decoration');
41 console.log(' - project.decoration');
42 console.log(' - project.seating_chart');
43 console.log(' - project.flower_decoration');
44 console.log(' - And more...\n');
45
46 await pool.end();
47 process.exit(0);
48 } catch (err) {
49 console.error('❌ Schema creation error:');
50 console.error(err.message);
51 console.error('\nMake sure:');
52 console.error(' 1. SSH tunnel is active (port 9999)');
53 console.error(' 2. Database credentials in .env are correct');
54 console.error(' 3. You have permission to create schema');
55 await pool.end();
56 process.exit(1);
57 }
58}
59
60initializeSchema();
Note: See TracBrowser for help on using the repository browser.