[TSM.ID].[11031972] PXE : Platform X Ecosystem I [118 Module -LIVE-]
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
/* eslint-disable */
|
||||
const { Pool } = require('pg');
|
||||
|
||||
const pool = new Pool({
|
||||
connectionString: process.env.DATABASE_URL || 'postgresql://jumpa_admin:JumpaS3cur3%21%40%23@xcom-ultra-alpha.ultramodul.xyz:5432/jumpadb'
|
||||
});
|
||||
|
||||
async function migrate() {
|
||||
try {
|
||||
console.log("Memulai migrasi arsitektur Omni-Dashboard JUMPA.ID...");
|
||||
|
||||
// Tabel platform_settings (White Label)
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS platform_settings (
|
||||
id SERIAL PRIMARY KEY,
|
||||
key VARCHAR(255) UNIQUE NOT NULL,
|
||||
value TEXT NOT NULL
|
||||
)
|
||||
`);
|
||||
|
||||
// Injeksi nama default jika belum ada
|
||||
await pool.query(`
|
||||
INSERT INTO platform_settings (key, value)
|
||||
VALUES ('platform_name', 'JUMPA.ID')
|
||||
ON CONFLICT (key) DO NOTHING
|
||||
`);
|
||||
|
||||
// Tabel billing_packages
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS billing_packages (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
max_users INTEGER NOT NULL,
|
||||
max_rooms INTEGER NOT NULL,
|
||||
price_monthly DECIMAL(10, 2) NOT NULL
|
||||
)
|
||||
`);
|
||||
|
||||
// Injeksi paket dasar
|
||||
await pool.query(`
|
||||
INSERT INTO billing_packages (id, name, max_users, max_rooms, price_monthly)
|
||||
VALUES
|
||||
(1, 'Basic Plan (BETA)', 100, 5, 0),
|
||||
(2, 'Pro Plan', 1000, 50, 500000),
|
||||
(3, 'Enterprise Plan', 10000, 500, 2000000)
|
||||
ON CONFLICT (id) DO NOTHING
|
||||
`);
|
||||
|
||||
// Menambah kolom billing ke tabel tenants jika belum ada
|
||||
await pool.query(`
|
||||
ALTER TABLE tenants
|
||||
ADD COLUMN IF NOT EXISTS package_id INTEGER REFERENCES billing_packages(id) DEFAULT 1,
|
||||
ADD COLUMN IF NOT EXISTS billing_status VARCHAR(50) DEFAULT 'ACTIVE',
|
||||
ADD COLUMN IF NOT EXISTS billing_expiry TIMESTAMP
|
||||
`);
|
||||
|
||||
console.log("✅ Migrasi TSM berhasil 100%!");
|
||||
process.exit(0);
|
||||
} catch (err) {
|
||||
console.error("❌ Gagal migrasi:", err);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
migrate();
|
||||
|
||||
Reference in New Issue
Block a user