feat: implement dispensing module with transaction-safe stock management, FEFO allocation, and H1 compliance reporting

This commit is contained in:
2026-08-19 11:05:04 +05:30
parent fd77985cf9
commit ea49fe800f
32 changed files with 1150 additions and 53 deletions
+35
View File
@@ -0,0 +1,35 @@
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();