Files
inventory/inventory-server/scripts/setup-db.js

41 lines
1.3 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const mysql = require('mysql2/promise');
const dotenv = require('dotenv');
dotenv.config({ path: path.join(__dirname, '../.env') });
const dbConfig = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
multipleStatements: true
};
async function setupDatabase() {
const connection = await mysql.createConnection(dbConfig);
try {
// Create tables
console.log('Setting up database schema...');
const schemaSQL = fs.readFileSync(path.join(__dirname, '../db/schema.sql'), 'utf8');
await connection.query(schemaSQL);
console.log('Schema created successfully');
// Create stored procedures
console.log('Setting up stored procedures...');
const proceduresSQL = fs.readFileSync(path.join(__dirname, '../db/procedures.sql'), 'utf8');
await connection.query(proceduresSQL);
console.log('Stored procedures created successfully');
console.log('Database setup completed successfully');
} catch (error) {
console.error('Error setting up database:', error);
process.exit(1);
} finally {
await connection.end();
}
}
setupDatabase();