{ "id": "7f3502c2-ddb7-47cd-bc78-0510a67ceded", "prevId": "9f3af9b8-d774-40bb-8b24-29b06332b453", "version": "7", "dialect": "postgresql", "tables": { "public.crm_customer_contacts": { "name": "crm_customer_contacts", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "customer_id": { "name": "customer_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "position": { "name": "position", "type": "text", "primaryKey": false, "notNull": false }, "department": { "name": "department", "type": "text", "primaryKey": false, "notNull": false }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": false }, "mobile": { "name": "mobile", "type": "text", "primaryKey": false, "notNull": false }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false }, "is_primary": { "name": "is_primary", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "deleted_at": { "name": "deleted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "updated_by": { "name": "updated_by", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.crm_customers": { "name": "crm_customers", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "branch_id": { "name": "branch_id", "type": "text", "primaryKey": false, "notNull": false }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "abbr": { "name": "abbr", "type": "text", "primaryKey": false, "notNull": false }, "tax_id": { "name": "tax_id", "type": "text", "primaryKey": false, "notNull": false }, "customer_type": { "name": "customer_type", "type": "text", "primaryKey": false, "notNull": true }, "customer_status": { "name": "customer_status", "type": "text", "primaryKey": false, "notNull": true }, "address": { "name": "address", "type": "text", "primaryKey": false, "notNull": false }, "province": { "name": "province", "type": "text", "primaryKey": false, "notNull": false }, "district": { "name": "district", "type": "text", "primaryKey": false, "notNull": false }, "sub_district": { "name": "sub_district", "type": "text", "primaryKey": false, "notNull": false }, "postal_code": { "name": "postal_code", "type": "text", "primaryKey": false, "notNull": false }, "country": { "name": "country", "type": "text", "primaryKey": false, "notNull": false }, "phone": { "name": "phone", "type": "text", "primaryKey": false, "notNull": false }, "fax": { "name": "fax", "type": "text", "primaryKey": false, "notNull": false }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false }, "website": { "name": "website", "type": "text", "primaryKey": false, "notNull": false }, "lead_channel": { "name": "lead_channel", "type": "text", "primaryKey": false, "notNull": false }, "customer_group": { "name": "customer_group", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "deleted_at": { "name": "deleted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "updated_by": { "name": "updated_by", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "crm_customers_org_code_idx": { "name": "crm_customers_org_code_idx", "columns": [ { "expression": "organization_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "code", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.crm_enquiries": { "name": "crm_enquiries", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "branch_id": { "name": "branch_id", "type": "text", "primaryKey": false, "notNull": false }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": true }, "customer_id": { "name": "customer_id", "type": "text", "primaryKey": false, "notNull": true }, "contact_id": { "name": "contact_id", "type": "text", "primaryKey": false, "notNull": false }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "requirement": { "name": "requirement", "type": "text", "primaryKey": false, "notNull": false }, "project_name": { "name": "project_name", "type": "text", "primaryKey": false, "notNull": false }, "project_location": { "name": "project_location", "type": "text", "primaryKey": false, "notNull": false }, "product_type": { "name": "product_type", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true }, "priority": { "name": "priority", "type": "text", "primaryKey": false, "notNull": true }, "lead_channel": { "name": "lead_channel", "type": "text", "primaryKey": false, "notNull": false }, "estimated_value": { "name": "estimated_value", "type": "double precision", "primaryKey": false, "notNull": false }, "chance_percent": { "name": "chance_percent", "type": "integer", "primaryKey": false, "notNull": false }, "expected_close_date": { "name": "expected_close_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "competitor": { "name": "competitor", "type": "text", "primaryKey": false, "notNull": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "is_hot_project": { "name": "is_hot_project", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "deleted_at": { "name": "deleted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "updated_by": { "name": "updated_by", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "crm_enquiries_org_code_idx": { "name": "crm_enquiries_org_code_idx", "columns": [ { "expression": "organization_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "code", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.crm_enquiry_followups": { "name": "crm_enquiry_followups", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "enquiry_id": { "name": "enquiry_id", "type": "text", "primaryKey": false, "notNull": true }, "followup_date": { "name": "followup_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "followup_type": { "name": "followup_type", "type": "text", "primaryKey": false, "notNull": true }, "contact_id": { "name": "contact_id", "type": "text", "primaryKey": false, "notNull": false }, "outcome": { "name": "outcome", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "next_followup_date": { "name": "next_followup_date", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "next_action": { "name": "next_action", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "deleted_at": { "name": "deleted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "updated_by": { "name": "updated_by", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.document_sequences": { "name": "document_sequences", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "branch_id": { "name": "branch_id", "type": "text", "primaryKey": false, "notNull": true, "default": "''" }, "document_type": { "name": "document_type", "type": "text", "primaryKey": false, "notNull": true }, "prefix": { "name": "prefix", "type": "text", "primaryKey": false, "notNull": true }, "period": { "name": "period", "type": "text", "primaryKey": false, "notNull": true }, "current_number": { "name": "current_number", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "padding_length": { "name": "padding_length", "type": "integer", "primaryKey": false, "notNull": true, "default": 3 }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "document_sequences_org_doc_period_branch_idx": { "name": "document_sequences_org_doc_period_branch_idx", "columns": [ { "expression": "organization_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "document_type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "period", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "branch_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.memberships": { "name": "memberships", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true, "default": "'user'" }, "business_role": { "name": "business_role", "type": "text", "primaryKey": false, "notNull": true, "default": "'viewer'" }, "permissions": { "name": "permissions", "type": "text[]", "primaryKey": false, "notNull": true, "default": "'{}'" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.ms_options": { "name": "ms_options", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "category": { "name": "category", "type": "text", "primaryKey": false, "notNull": true }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": false }, "parent_id": { "name": "parent_id", "type": "text", "primaryKey": false, "notNull": false }, "sort_order": { "name": "sort_order", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "metadata": { "name": "metadata", "type": "jsonb", "primaryKey": false, "notNull": false }, "deleted_at": { "name": "deleted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "ms_options_org_category_code_idx": { "name": "ms_options_org_category_code_idx", "columns": [ { "expression": "organization_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "category", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "code", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.organizations": { "name": "organizations", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "image_url": { "name": "image_url", "type": "text", "primaryKey": false, "notNull": false }, "plan": { "name": "plan", "type": "text", "primaryKey": false, "notNull": true, "default": "'free'" }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "organizations_slug_idx": { "name": "organizations_slug_idx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.products": { "name": "products", "schema": "", "columns": { "id": { "name": "id", "type": "integer", "primaryKey": true, "notNull": true, "identity": { "type": "always", "name": "products_id_seq", "schema": "public", "increment": "1", "startWith": "1", "minValue": "1", "maxValue": "2147483647", "cache": "1", "cycle": false } }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "category": { "name": "category", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": true }, "photo_url": { "name": "photo_url", "type": "text", "primaryKey": false, "notNull": true }, "price": { "name": "price", "type": "double precision", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.tr_audit_logs": { "name": "tr_audit_logs", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "branch_id": { "name": "branch_id", "type": "text", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": true }, "entity_id": { "name": "entity_id", "type": "text", "primaryKey": false, "notNull": true }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true }, "before_data": { "name": "before_data", "type": "jsonb", "primaryKey": false, "notNull": false }, "after_data": { "name": "after_data", "type": "jsonb", "primaryKey": false, "notNull": false }, "request_id": { "name": "request_id", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "password_hash": { "name": "password_hash", "type": "text", "primaryKey": false, "notNull": true }, "system_role": { "name": "system_role", "type": "text", "primaryKey": false, "notNull": true, "default": "'user'" }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "active_organization_id": { "name": "active_organization_id", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "users_email_idx": { "name": "users_email_idx", "columns": [ { "expression": "email", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }