🚀 مُصادَق: تحديث برمجي جديد 2026-05-03 13:19
This commit is contained in:
47
database/migrations/002_core_modules.sql
Normal file
47
database/migrations/002_core_modules.sql
Normal file
@@ -0,0 +1,47 @@
|
||||
-- ─── Companies ────────────────────────────────────────────
|
||||
CREATE TABLE IF NOT EXISTS companies (
|
||||
id CHAR(36) NOT NULL DEFAULT (UUID()),
|
||||
tenant_id CHAR(36) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
name_en VARCHAR(255) NULL,
|
||||
tax_identification_number VARCHAR(20) NOT NULL,
|
||||
commercial_registration_number VARCHAR(50) NULL,
|
||||
address TEXT NULL,
|
||||
city VARCHAR(100) NULL,
|
||||
contact_email VARCHAR(255) NULL,
|
||||
contact_phone VARCHAR(20) NULL,
|
||||
jofotara_client_id_encrypted TEXT NULL,
|
||||
jofotara_secret_key_encrypted TEXT NULL,
|
||||
jofotara_income_source_sequence VARCHAR(50) NULL,
|
||||
certificate_path VARCHAR(255) NULL,
|
||||
certificate_password_encrypted TEXT NULL,
|
||||
is_jofotara_linked TINYINT(1) NOT NULL DEFAULT 0,
|
||||
is_active TINYINT(1) NOT NULL DEFAULT 1,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted_at DATETIME NULL,
|
||||
PRIMARY KEY (id),
|
||||
INDEX idx_companies_tenant (tenant_id),
|
||||
INDEX idx_companies_tin (tax_identification_number),
|
||||
CONSTRAINT fk_companies_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ─── Subscriptions ────────────────────────────────────────
|
||||
CREATE TABLE IF NOT EXISTS subscriptions (
|
||||
id CHAR(36) NOT NULL DEFAULT (UUID()),
|
||||
tenant_id CHAR(36) NOT NULL,
|
||||
plan ENUM('free','basic','office','pro','enterprise') NOT NULL DEFAULT 'basic',
|
||||
max_companies INT NOT NULL DEFAULT 3,
|
||||
max_invoices_per_month INT NOT NULL DEFAULT 50,
|
||||
max_users INT NOT NULL DEFAULT 2,
|
||||
price_jod DECIMAL(10,2) NOT NULL DEFAULT 0.00,
|
||||
invoices_used_this_month INT NOT NULL DEFAULT 0,
|
||||
status ENUM('active','past_due','cancelled','trial') NOT NULL DEFAULT 'active',
|
||||
current_period_start DATETIME NULL,
|
||||
current_period_end DATETIME NULL,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uq_sub_tenant (tenant_id),
|
||||
CONSTRAINT fk_sub_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user