36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
const { Pool } = require('pg');
|
|
require('dotenv').config();
|
|
|
|
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
|
|
|
|
async function migrate() {
|
|
try {
|
|
const DEFAULT_TENANT = 'act_admin'; // Fallback tenant for existing data
|
|
|
|
await pool.query(`
|
|
ALTER TABLE prescriptions ADD COLUMN IF NOT EXISTS tenant_id VARCHAR(50);
|
|
UPDATE prescriptions SET tenant_id = '${DEFAULT_TENANT}' WHERE tenant_id IS NULL;
|
|
|
|
ALTER TABLE batches ADD COLUMN IF NOT EXISTS tenant_id VARCHAR(50);
|
|
UPDATE batches SET tenant_id = '${DEFAULT_TENANT}' WHERE tenant_id IS NULL;
|
|
|
|
ALTER TABLE patients ADD COLUMN IF NOT EXISTS tenant_id VARCHAR(50);
|
|
UPDATE patients SET tenant_id = '${DEFAULT_TENANT}' WHERE tenant_id IS NULL;
|
|
|
|
ALTER TABLE suppliers ADD COLUMN IF NOT EXISTS tenant_id VARCHAR(50);
|
|
UPDATE suppliers SET tenant_id = '${DEFAULT_TENANT}' WHERE tenant_id IS NULL;
|
|
|
|
ALTER TABLE order_drafts ADD COLUMN IF NOT EXISTS tenant_id VARCHAR(50);
|
|
UPDATE order_drafts SET tenant_id = '${DEFAULT_TENANT}' WHERE tenant_id IS NULL;
|
|
`);
|
|
|
|
console.log('Multi-tenant migration completed successfully');
|
|
} catch (err) {
|
|
console.error('Error during migration:', err);
|
|
} finally {
|
|
pool.end();
|
|
}
|
|
}
|
|
|
|
migrate();
|