-- CreateTable CREATE TABLE `admin_accounts` ( `id` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `admin_id` VARCHAR(191) NOT NULL, `account_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `admin_accounts_account_id_key`(`account_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `admins` ( `id` VARCHAR(191) NOT NULL, `mobile_number` VARCHAR(191) NOT NULL, `national_code` VARCHAR(191) NULL, `first_name` VARCHAR(191) NOT NULL, `last_name` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, UNIQUE INDEX `admins_mobile_number_key`(`mobile_number`), UNIQUE INDEX `admins_national_code_key`(`national_code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `accounts` ( `id` VARCHAR(191) NOT NULL, `username` VARCHAR(191) NOT NULL, `password` VARCHAR(191) NOT NULL, `status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL, `type` ENUM('ADMIN', 'PROVIDER', 'PARTNER', 'CONSUMER') NOT NULL, UNIQUE INDEX `accounts_username_key`(`username`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `device_brands` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `devices` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `os_version` VARCHAR(191) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `brand_id` VARCHAR(191) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `license_charged_transactions` ( `id` VARCHAR(191) NOT NULL, `activation_expires_at` DATETIME(3) NOT NULL, `tracking_code` VARCHAR(191) NOT NULL, `purchased_count` INTEGER NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `partner_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `license_charged_transactions_tracking_code_key`(`tracking_code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `licenses` ( `id` VARCHAR(191) NOT NULL, `accounts_limit` INTEGER NOT NULL DEFAULT 2, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `charge_transaction_id` VARCHAR(191) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `licenses_activated` ( `id` VARCHAR(191) NOT NULL, `starts_at` DATETIME(3) NOT NULL, `expires_at` DATETIME(3) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `license_id` VARCHAR(191) NOT NULL, `business_activity_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `licenses_activated_id_key`(`id`), UNIQUE INDEX `licenses_activated_license_id_key`(`license_id`), UNIQUE INDEX `licenses_activated_business_activity_id_key`(`business_activity_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `license_renew_charge_transaction` ( `id` VARCHAR(191) NOT NULL, `activation_expires_at` DATETIME(3) NOT NULL, `tracking_code` VARCHAR(191) NOT NULL, `purchased_count` INTEGER NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `partner_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `license_renew_charge_transaction_tracking_code_key`(`tracking_code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `license_renew` ( `id` VARCHAR(191) NOT NULL, `expires_at` DATETIME(3) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `charge_transaction_id` VARCHAR(191) NOT NULL, `activation_id` VARCHAR(191) NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `partner_account_quota_charge_transaction` ( `id` VARCHAR(191) NOT NULL, `activation_expires_at` DATETIME(3) NOT NULL, `tracking_code` VARCHAR(191) NOT NULL, `purchased_count` INTEGER NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `partner_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `partner_account_quota_charge_transaction_tracking_code_key`(`tracking_code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `partner_account_quota_credit` ( `id` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `charge_transaction_id` VARCHAR(191) NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `license_account_allocation` ( `id` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `license_activation_id` VARCHAR(191) NULL, `account_id` VARCHAR(191) NULL, `credit_id` VARCHAR(191) NULL, UNIQUE INDEX `license_account_allocation_account_id_key`(`account_id`), UNIQUE INDEX `license_account_allocation_credit_id_key`(`credit_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `partner_accounts` ( `id` VARCHAR(191) NOT NULL, `role` ENUM('OWNER', 'MANAGER', 'OPERATOR') NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `partner_id` VARCHAR(191) NOT NULL, `account_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `partner_accounts_account_id_key`(`account_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `partners` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `code` VARCHAR(191) NOT NULL, `status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL DEFAULT 'ACTIVE', `fiscal_switch_type` ENUM('NAMA', 'SUN') NOT NULL, `logo_url` VARCHAR(191) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), UNIQUE INDEX `partners_code_key`(`code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `permission_consumers` ( `id` VARCHAR(191) NOT NULL, `consumer_account_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `permission_consumers_consumer_account_id_key`(`consumer_account_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `permission_poses` ( `id` VARCHAR(191) NOT NULL, `role` ENUM('MANAGER', 'OPERATOR') NOT NULL, `pos_id` VARCHAR(191) NOT NULL, `permission_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `permission_poses_permission_id_pos_id_key`(`permission_id`, `pos_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `permission_complexes` ( `id` VARCHAR(191) NOT NULL, `role` ENUM('MANAGER', 'OPERATOR') NOT NULL, `complex_id` VARCHAR(191) NOT NULL, `permission_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `permission_complexes_permission_id_complex_id_key`(`permission_id`, `complex_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `permission_business_activities` ( `id` VARCHAR(191) NOT NULL, `role` ENUM('MANAGER', 'OPERATOR') NOT NULL, `business_id` VARCHAR(191) NOT NULL, `permission_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `permission_business_activities_permission_id_business_id_key`(`permission_id`, `business_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `provider_accounts` ( `id` VARCHAR(191) NOT NULL, `role` ENUM('OWNER', 'MANAGER', 'OPERATOR') NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `provider_id` VARCHAR(191) NOT NULL, `account_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `provider_accounts_account_id_key`(`account_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `providers` ( `id` VARCHAR(191) NOT NULL, `code` VARCHAR(191) NOT NULL, `status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL DEFAULT 'ACTIVE', `name` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, UNIQUE INDEX `providers_code_key`(`code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `consumer_devices` ( `uuid` VARCHAR(255) NOT NULL, `app_version` VARCHAR(20) NOT NULL, `build_number` VARCHAR(20) NOT NULL, `platform` VARCHAR(100) NOT NULL, `brand` VARCHAR(100) NOT NULL, `model` VARCHAR(100) NOT NULL, `device` VARCHAR(100) NOT NULL, `publisher` ENUM('DIRECT', 'CAFE_BAZAR', 'MAYKET') NOT NULL, `os_version` VARCHAR(20) NOT NULL, `sdk_version` VARCHAR(20) NOT NULL, `release_number` VARCHAR(20) NOT NULL, `user_agent` VARCHAR(100) NULL, `browser_name` VARCHAR(100) NULL, `fcm_token` VARCHAR(100) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `consumer_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `consumer_devices_uuid_key`(`uuid`), PRIMARY KEY (`uuid`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `application_released_info` ( `id` VARCHAR(191) NOT NULL, `version` VARCHAR(191) NOT NULL, `build_number` VARCHAR(191) NOT NULL, `is_minimum_supported` BOOLEAN NOT NULL DEFAULT false, `release_type` ENUM('STABLE', 'BETA', 'ALPHA') NOT NULL, `platform` ENUM('ANDROID', 'IOS') NOT NULL, `notes` JSON NULL, `release_date` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `consumer_accounts` ( `id` VARCHAR(191) NOT NULL, `role` ENUM('OWNER', 'MANAGER', 'OPERATOR') NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `consumer_id` VARCHAR(191) NOT NULL, `account_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `consumer_accounts_account_id_key`(`account_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `consumers` ( `id` VARCHAR(191) NOT NULL, `type` ENUM('INDIVIDUAL', 'LEGAL') NOT NULL, `status` ENUM('ACTIVE', 'SUSPENDED') NOT NULL DEFAULT 'ACTIVE', `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `consumers_individual` ( `first_name` VARCHAR(191) NOT NULL, `last_name` VARCHAR(191) NOT NULL, `mobile_number` VARCHAR(191) NOT NULL, `national_code` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `partner_id` VARCHAR(191) NOT NULL, `consumer_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `consumers_individual_mobile_number_consumer_id_key`(`mobile_number`, `consumer_id`), UNIQUE INDEX `consumers_individual_partner_id_national_code_key`(`partner_id`, `national_code`), PRIMARY KEY (`consumer_id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `consumers_legal` ( `name` VARCHAR(191) NOT NULL, `registration_code` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `partner_id` VARCHAR(191) NOT NULL, `consumer_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `consumers_legal_partner_id_registration_code_key`(`partner_id`, `registration_code`), PRIMARY KEY (`consumer_id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `business_activities` ( `id` VARCHAR(191) NOT NULL, `economic_code` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `fiscal_id` VARCHAR(191) NOT NULL, `partner_token` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `guild_id` VARCHAR(191) NOT NULL, `consumer_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `business_activities_economic_code_consumer_id_key`(`economic_code`, `consumer_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `complexes` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `branch_code` VARCHAR(191) NOT NULL, `address` VARCHAR(191) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `business_activity_id` VARCHAR(191) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `poses` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `model` VARCHAR(191) NULL, `serial_number` VARCHAR(191) NULL, `status` ENUM('ACTIVE', 'DISABLED') NOT NULL DEFAULT 'ACTIVE', `pos_type` ENUM('PSP', 'MOBILE', 'WEB', 'API') NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `complex_id` VARCHAR(191) NOT NULL, `device_id` VARCHAR(191) NULL, `provider_id` VARCHAR(191) NULL, `account_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `poses_serial_number_key`(`serial_number`), UNIQUE INDEX `poses_account_id_key`(`account_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `goods` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(255) NOT NULL, `is_default_guild_good` BOOLEAN NOT NULL DEFAULT false, `pricing_model` ENUM('STANDARD', 'GOLD') NOT NULL, `description` TEXT NULL, `local_sku` VARCHAR(100) NULL, `barcode` VARCHAR(100) NULL, `base_sale_price` DECIMAL(15, 0) NULL DEFAULT 0.00, `image_url` VARCHAR(255) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `deleted_at` TIMESTAMP(0) NULL, `sku_id` VARCHAR(191) NOT NULL, `measure_unit_id` VARCHAR(191) NOT NULL, `category_id` VARCHAR(191) NULL, `business_activity_id` VARCHAR(191) NULL, UNIQUE INDEX `goods_local_sku_key`(`local_sku`), UNIQUE INDEX `goods_barcode_key`(`barcode`), INDEX `goods_category_id_idx`(`category_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `good_categories` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(100) NOT NULL, `description` TEXT NULL, `image_url` VARCHAR(255) NULL, `complex_id` VARCHAR(191) NULL, `is_default_guild_good` BOOLEAN NOT NULL DEFAULT false, `guild_id` VARCHAR(191) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `deleted_at` TIMESTAMP(0) NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `measure_units` ( `id` VARCHAR(191) NOT NULL, `code` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), UNIQUE INDEX `measure_units_code_key`(`code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `stock_keeping_units` ( `id` VARCHAR(191) NOT NULL, `code` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `VAT` DECIMAL(5, 2) NOT NULL, `type` ENUM('GOLD') NOT NULL DEFAULT 'GOLD', `is_public` BOOLEAN NOT NULL DEFAULT true, `is_domestic` BOOLEAN NOT NULL DEFAULT false, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, UNIQUE INDEX `stock_keeping_units_code_key`(`code`), INDEX `stock_keeping_units_code_idx`(`code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `trigger_logs` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `message` TEXT NOT NULL, `createdAt` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `name` TEXT NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `customers` ( `id` VARCHAR(191) NOT NULL, `is_favorite` BOOLEAN NULL DEFAULT false, `type` ENUM('INDIVIDUAL', 'LEGAL', 'UNKNOWN') NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `deleted_at` TIMESTAMP(0) NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `customer_individuals` ( `first_name` VARCHAR(255) NOT NULL, `last_name` VARCHAR(255) NOT NULL, `national_id` CHAR(10) NOT NULL, `mobile_number` CHAR(15) NOT NULL, `postal_code` CHAR(10) NOT NULL, `economic_code` CHAR(10) NULL, `customer_id` VARCHAR(191) NOT NULL, `business_activity_id` VARCHAR(191) NOT NULL, INDEX `customer_individuals_business_activity_id_idx`(`business_activity_id`), UNIQUE INDEX `customer_individuals_business_activity_id_national_id_key`(`business_activity_id`, `national_id`), PRIMARY KEY (`customer_id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `customer_legal` ( `name` VARCHAR(255) NOT NULL, `economic_code` CHAR(10) NOT NULL, `registration_number` CHAR(20) NULL, `postal_code` CHAR(10) NOT NULL, `customer_id` VARCHAR(191) NOT NULL, `business_activity_id` VARCHAR(191) NOT NULL, INDEX `customer_legal_business_activity_id_idx`(`business_activity_id`), UNIQUE INDEX `customer_legal_business_activity_id_economic_code_key`(`business_activity_id`, `economic_code`), PRIMARY KEY (`customer_id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `guilds` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `code` VARCHAR(191) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `sales_invoices` ( `id` VARCHAR(191) NOT NULL, `code` VARCHAR(100) NOT NULL, `total_amount` DECIMAL(15, 2) NOT NULL, `invoice_number` INTEGER NOT NULL, `invoice_date` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `notes` TEXT NULL, `unknown_customer` JSON NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `customer_id` VARCHAR(191) NULL, `consumer_account_id` VARCHAR(191) NOT NULL, `pos_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `sales_invoices_code_key`(`code`), UNIQUE INDEX `sales_invoices_invoice_number_pos_id_key`(`invoice_number`, `pos_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `sales_invoice_items` ( `id` VARCHAR(191) NOT NULL, `quantity` DECIMAL(10, 0) NOT NULL, `measure_unit_text` VARCHAR(50) NOT NULL, `measure_unit_code` VARCHAR(50) NOT NULL, `sku_code` VARCHAR(50) NOT NULL, `sku_vat` DECIMAL(15, 2) NOT NULL DEFAULT 0.00, `unit_price` DECIMAL(15, 2) NOT NULL DEFAULT 0.00, `total_amount` DECIMAL(15, 2) NOT NULL DEFAULT 0.00, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `discount` DECIMAL(15, 2) NOT NULL DEFAULT 0.00, `notes` TEXT NULL, `payload` JSON NULL, `good_snapshot` JSON NULL, `invoice_id` VARCHAR(191) NOT NULL, `good_id` VARCHAR(191) NULL, `service_id` VARCHAR(191) NULL, INDEX `sales_invoice_items_invoice_id_good_id_idx`(`invoice_id`, `good_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `sale_invoice_fiscals` ( `id` VARCHAR(191) NOT NULL, `retry_count` INTEGER NOT NULL DEFAULT 0, `last_attempt_at` TIMESTAMP(0) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `invoice_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `sale_invoice_fiscals_invoice_id_key`(`invoice_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `sale_invoice_fiscal_attempts` ( `id` VARCHAR(191) NOT NULL, `attempt_no` INTEGER NOT NULL, `status` ENUM('SUCCESS', 'FAILURE', 'NOT_SEND', 'QUEUED') NOT NULL, `tax_id` VARCHAR(191) NULL, `type` ENUM('MAIN', 'UPDATE', 'REVOKE', 'REMOVE') NOT NULL, `request_payload` JSON NULL, `response_payload` JSON NULL, `error_message` TEXT NULL, `sent_at` TIMESTAMP(0) NULL, `received_at` TIMESTAMP(0) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `fiscal_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `sale_invoice_fiscal_attempts_tax_id_key`(`tax_id`), INDEX `sale_invoice_fiscal_attempts_status_idx`(`status`), INDEX `sale_invoice_fiscal_attempts_tax_id_idx`(`tax_id`), UNIQUE INDEX `sale_invoice_fiscal_attempts_fiscal_id_attempt_no_key`(`fiscal_id`, `attempt_no`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `sales_invoice_payments` ( `id` VARCHAR(191) NOT NULL, `amount` DECIMAL(15, 2) NOT NULL, `payment_method` ENUM('TERMINAL', 'CASH', 'SET_OFF', 'CARD', 'BANK', 'CHECK', 'OTHER') NOT NULL, `paid_at` TIMESTAMP(0) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `invoice_id` VARCHAR(191) NOT NULL, INDEX `sales_invoice_payments_invoice_id_idx`(`invoice_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `sales_invoice_payment_terminal_info` ( `id` VARCHAR(191) NOT NULL, `terminal_id` VARCHAR(191) NOT NULL, `stan` VARCHAR(191) NOT NULL, `rrn` VARCHAR(191) NOT NULL, `transaction_date_time` DATETIME(3) NOT NULL, `customer_card_no` VARCHAR(191) NULL, `description` VARCHAR(191) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `payment_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `sales_invoice_payment_terminal_info_payment_id_key`(`payment_id`), UNIQUE INDEX `sales_invoice_payment_terminal_info_terminal_id_stan_rrn_pay_key`(`terminal_id`, `stan`, `rrn`, `payment_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `services` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(255) NOT NULL, `description` TEXT NULL, `sku` VARCHAR(100) NOT NULL, `local_sku` VARCHAR(100) NULL, `barcode` VARCHAR(100) NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `deleted_at` TIMESTAMP(0) NULL, `category_id` VARCHAR(191) NULL, `base_sale_price` DECIMAL(15, 0) NOT NULL DEFAULT 0.00, `account_id` VARCHAR(191) NOT NULL, `complex_id` VARCHAR(191) NOT NULL, UNIQUE INDEX `services_sku_key`(`sku`), UNIQUE INDEX `services_local_sku_key`(`local_sku`), UNIQUE INDEX `services_barcode_key`(`barcode`), INDEX `services_category_id_idx`(`category_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `service_categories` ( `id` VARCHAR(191) NOT NULL, `name` VARCHAR(100) NOT NULL, `description` TEXT NULL, `image_url` VARCHAR(255) NULL, `account_id` VARCHAR(191) NOT NULL, `complex_id` VARCHAR(191) NOT NULL, `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `updated_at` TIMESTAMP(0) NOT NULL, `deleted_at` TIMESTAMP(0) NULL, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- AddForeignKey ALTER TABLE `admin_accounts` ADD CONSTRAINT `admin_accounts_admin_id_fkey` FOREIGN KEY (`admin_id`) REFERENCES `admins`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `admin_accounts` ADD CONSTRAINT `admin_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `devices` ADD CONSTRAINT `devices_brand_id_fkey` FOREIGN KEY (`brand_id`) REFERENCES `device_brands`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `license_charged_transactions` ADD CONSTRAINT `license_charged_transactions_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `licenses` ADD CONSTRAINT `licenses_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `license_charged_transactions`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `licenses_activated` ADD CONSTRAINT `licenses_activated_license_id_fkey` FOREIGN KEY (`license_id`) REFERENCES `licenses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `licenses_activated` ADD CONSTRAINT `licenses_activated_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `license_renew_charge_transaction` ADD CONSTRAINT `license_renew_charge_transaction_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `license_renew` ADD CONSTRAINT `license_renew_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `license_renew_charge_transaction`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `license_renew` ADD CONSTRAINT `license_renew_activation_id_fkey` FOREIGN KEY (`activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `partner_account_quota_charge_transaction` ADD CONSTRAINT `partner_account_quota_charge_transaction_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `partner_account_quota_credit` ADD CONSTRAINT `partner_account_quota_credit_charge_transaction_id_fkey` FOREIGN KEY (`charge_transaction_id`) REFERENCES `partner_account_quota_charge_transaction`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_license_activation_id_fkey` FOREIGN KEY (`license_activation_id`) REFERENCES `licenses_activated`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `license_account_allocation` ADD CONSTRAINT `license_account_allocation_credit_id_fkey` FOREIGN KEY (`credit_id`) REFERENCES `partner_account_quota_credit`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `partner_accounts` ADD CONSTRAINT `partner_accounts_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `partner_accounts` ADD CONSTRAINT `partner_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permission_consumers` ADD CONSTRAINT `permission_consumers_consumer_account_id_fkey` FOREIGN KEY (`consumer_account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_pos_id_fkey` FOREIGN KEY (`pos_id`) REFERENCES `poses`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permission_poses` ADD CONSTRAINT `permission_poses_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permission_complexes` ADD CONSTRAINT `permission_complexes_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_business_id_fkey` FOREIGN KEY (`business_id`) REFERENCES `business_activities`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permission_business_activities` ADD CONSTRAINT `permission_business_activities_permission_id_fkey` FOREIGN KEY (`permission_id`) REFERENCES `permission_consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `provider_accounts` ADD CONSTRAINT `provider_accounts_provider_id_fkey` FOREIGN KEY (`provider_id`) REFERENCES `providers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `provider_accounts` ADD CONSTRAINT `provider_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `consumer_devices` ADD CONSTRAINT `consumer_devices_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `consumer_accounts` ADD CONSTRAINT `consumer_accounts_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `consumer_accounts` ADD CONSTRAINT `consumer_accounts_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `consumers_individual` ADD CONSTRAINT `consumers_individual_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `consumers_individual` ADD CONSTRAINT `consumers_individual_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `consumers_legal` ADD CONSTRAINT `consumers_legal_partner_id_fkey` FOREIGN KEY (`partner_id`) REFERENCES `partners`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `consumers_legal` ADD CONSTRAINT `consumers_legal_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `business_activities` ADD CONSTRAINT `business_activities_guild_id_fkey` FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `business_activities` ADD CONSTRAINT `business_activities_consumer_id_fkey` FOREIGN KEY (`consumer_id`) REFERENCES `consumers`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `complexes` ADD CONSTRAINT `complexes_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `poses` ADD CONSTRAINT `poses_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `poses` ADD CONSTRAINT `poses_device_id_fkey` FOREIGN KEY (`device_id`) REFERENCES `devices`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `poses` ADD CONSTRAINT `poses_provider_id_fkey` FOREIGN KEY (`provider_id`) REFERENCES `providers`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `poses` ADD CONSTRAINT `poses_account_id_fkey` FOREIGN KEY (`account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `goods` ADD CONSTRAINT `goods_sku_id_fkey` FOREIGN KEY (`sku_id`) REFERENCES `stock_keeping_units`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `goods` ADD CONSTRAINT `goods_measure_unit_id_fkey` FOREIGN KEY (`measure_unit_id`) REFERENCES `measure_units`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `goods` ADD CONSTRAINT `goods_category_id_fkey` FOREIGN KEY (`category_id`) REFERENCES `good_categories`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `goods` ADD CONSTRAINT `goods_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `good_categories` ADD CONSTRAINT `good_categories_guild_id_fkey` FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `good_categories` ADD CONSTRAINT `good_categories_complex_id_fkey` FOREIGN KEY (`complex_id`) REFERENCES `complexes`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `customer_individuals` ADD CONSTRAINT `customer_individuals_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `customer_individuals` ADD CONSTRAINT `customer_individuals_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `customer_legal` ADD CONSTRAINT `customer_legal_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `customer_legal` ADD CONSTRAINT `customer_legal_business_activity_id_fkey` FOREIGN KEY (`business_activity_id`) REFERENCES `business_activities`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_consumer_account_id_fkey` FOREIGN KEY (`consumer_account_id`) REFERENCES `consumer_accounts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoices` ADD CONSTRAINT `sales_invoices_pos_id_fkey` FOREIGN KEY (`pos_id`) REFERENCES `poses`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_good_id_fkey` FOREIGN KEY (`good_id`) REFERENCES `goods`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoice_items` ADD CONSTRAINT `sales_invoice_items_service_id_fkey` FOREIGN KEY (`service_id`) REFERENCES `services`(`id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sale_invoice_fiscals` ADD CONSTRAINT `sale_invoice_fiscals_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sale_invoice_fiscal_attempts` ADD CONSTRAINT `sale_invoice_fiscal_attempts_fiscal_id_fkey` FOREIGN KEY (`fiscal_id`) REFERENCES `sale_invoice_fiscals`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoice_payments` ADD CONSTRAINT `sales_invoice_payments_invoice_id_fkey` FOREIGN KEY (`invoice_id`) REFERENCES `sales_invoices`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `sales_invoice_payment_terminal_info` ADD CONSTRAINT `sales_invoice_payment_terminal_info_payment_id_fkey` FOREIGN KEY (`payment_id`) REFERENCES `sales_invoice_payments`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `services` ADD CONSTRAINT `services_category_id_fkey` FOREIGN KEY (`category_id`) REFERENCES `service_categories`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;