/* Warnings: - You are about to drop the column `dbHost` on the `tenants` table. All the data in the column will be lost. - You are about to drop the column `dbName` on the `tenants` table. All the data in the column will be lost. - You are about to drop the column `dbPassword` on the `tenants` table. All the data in the column will be lost. - You are about to drop the column `dbPort` on the `tenants` table. All the data in the column will be lost. - You are about to drop the column `dbUsername` on the `tenants` table. All the data in the column will be lost. - You are about to drop the column `status` on the `tenants` table. All the data in the column will be lost. - You are about to drop the `domains` table. If the table is not empty, all the data it contains will be lost. */ -- DropForeignKey ALTER TABLE `domains` DROP FOREIGN KEY `domains_tenantId_fkey`; -- AlterTable ALTER TABLE `tenants` DROP COLUMN `dbHost`, DROP COLUMN `dbName`, DROP COLUMN `dbPassword`, DROP COLUMN `dbPort`, DROP COLUMN `dbUsername`, DROP COLUMN `status`, ADD COLUMN `isActive` BOOLEAN NOT NULL DEFAULT true; -- DropTable DROP TABLE `domains`; -- CreateTable CREATE TABLE `users` ( `id` VARCHAR(191) NOT NULL, `tenantId` VARCHAR(191) NOT NULL, `email` VARCHAR(191) NOT NULL, `password` VARCHAR(191) NOT NULL, `firstName` VARCHAR(191) NULL, `lastName` VARCHAR(191) NULL, `isActive` BOOLEAN NOT NULL DEFAULT true, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `users_tenantId_idx`(`tenantId`), UNIQUE INDEX `users_tenantId_email_key`(`tenantId`, `email`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `roles` ( `id` VARCHAR(191) NOT NULL, `tenantId` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `guardName` VARCHAR(191) NOT NULL DEFAULT 'api', `description` VARCHAR(191) NULL, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `roles_tenantId_idx`(`tenantId`), UNIQUE INDEX `roles_tenantId_name_guardName_key`(`tenantId`, `name`, `guardName`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `permissions` ( `id` VARCHAR(191) NOT NULL, `tenantId` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `guardName` VARCHAR(191) NOT NULL DEFAULT 'api', `description` VARCHAR(191) NULL, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `permissions_tenantId_idx`(`tenantId`), UNIQUE INDEX `permissions_tenantId_name_guardName_key`(`tenantId`, `name`, `guardName`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `user_roles` ( `id` VARCHAR(191) NOT NULL, `userId` VARCHAR(191) NOT NULL, `roleId` VARCHAR(191) NOT NULL, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), INDEX `user_roles_userId_idx`(`userId`), INDEX `user_roles_roleId_idx`(`roleId`), UNIQUE INDEX `user_roles_userId_roleId_key`(`userId`, `roleId`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `role_permissions` ( `id` VARCHAR(191) NOT NULL, `roleId` VARCHAR(191) NOT NULL, `permissionId` VARCHAR(191) NOT NULL, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), INDEX `role_permissions_roleId_idx`(`roleId`), INDEX `role_permissions_permissionId_idx`(`permissionId`), UNIQUE INDEX `role_permissions_roleId_permissionId_key`(`roleId`, `permissionId`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `object_definitions` ( `id` VARCHAR(191) NOT NULL, `tenantId` VARCHAR(191) NOT NULL, `apiName` VARCHAR(191) NOT NULL, `label` VARCHAR(191) NOT NULL, `pluralLabel` VARCHAR(191) NULL, `description` TEXT NULL, `isSystem` BOOLEAN NOT NULL DEFAULT false, `tableName` VARCHAR(191) NULL, `isActive` BOOLEAN NOT NULL DEFAULT true, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `object_definitions_tenantId_idx`(`tenantId`), UNIQUE INDEX `object_definitions_tenantId_apiName_key`(`tenantId`, `apiName`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `field_definitions` ( `id` VARCHAR(191) NOT NULL, `objectId` VARCHAR(191) NOT NULL, `apiName` VARCHAR(191) NOT NULL, `label` VARCHAR(191) NOT NULL, `type` VARCHAR(191) NOT NULL, `description` TEXT NULL, `isRequired` BOOLEAN NOT NULL DEFAULT false, `isUnique` BOOLEAN NOT NULL DEFAULT false, `isReadonly` BOOLEAN NOT NULL DEFAULT false, `isLookup` BOOLEAN NOT NULL DEFAULT false, `referenceTo` VARCHAR(191) NULL, `defaultValue` VARCHAR(191) NULL, `options` JSON NULL, `validationRules` JSON NULL, `isActive` BOOLEAN NOT NULL DEFAULT true, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `field_definitions_objectId_idx`(`objectId`), UNIQUE INDEX `field_definitions_objectId_apiName_key`(`objectId`, `apiName`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `accounts` ( `id` VARCHAR(191) NOT NULL, `tenantId` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `status` VARCHAR(191) NOT NULL DEFAULT 'active', `ownerId` VARCHAR(191) NOT NULL, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `accounts_tenantId_idx`(`tenantId`), INDEX `accounts_ownerId_idx`(`ownerId`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `apps` ( `id` VARCHAR(191) NOT NULL, `tenantId` VARCHAR(191) NOT NULL, `slug` VARCHAR(191) NOT NULL, `label` VARCHAR(191) NOT NULL, `description` TEXT NULL, `icon` VARCHAR(191) NULL, `isActive` BOOLEAN NOT NULL DEFAULT true, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `apps_tenantId_idx`(`tenantId`), UNIQUE INDEX `apps_tenantId_slug_key`(`tenantId`, `slug`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `app_pages` ( `id` VARCHAR(191) NOT NULL, `appId` VARCHAR(191) NOT NULL, `slug` VARCHAR(191) NOT NULL, `label` VARCHAR(191) NOT NULL, `type` VARCHAR(191) NOT NULL, `objectApiName` VARCHAR(191) NULL, `objectId` VARCHAR(191) NULL, `config` JSON NULL, `sortOrder` INTEGER NOT NULL DEFAULT 0, `isActive` BOOLEAN NOT NULL DEFAULT true, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, INDEX `app_pages_appId_idx`(`appId`), INDEX `app_pages_objectId_idx`(`objectId`), UNIQUE INDEX `app_pages_appId_slug_key`(`appId`, `slug`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- AddForeignKey ALTER TABLE `users` ADD CONSTRAINT `users_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `roles` ADD CONSTRAINT `roles_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `permissions` ADD CONSTRAINT `permissions_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `user_roles` ADD CONSTRAINT `user_roles_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `user_roles` ADD CONSTRAINT `user_roles_roleId_fkey` FOREIGN KEY (`roleId`) REFERENCES `roles`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `role_permissions` ADD CONSTRAINT `role_permissions_roleId_fkey` FOREIGN KEY (`roleId`) REFERENCES `roles`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `role_permissions` ADD CONSTRAINT `role_permissions_permissionId_fkey` FOREIGN KEY (`permissionId`) REFERENCES `permissions`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `object_definitions` ADD CONSTRAINT `object_definitions_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `field_definitions` ADD CONSTRAINT `field_definitions_objectId_fkey` FOREIGN KEY (`objectId`) REFERENCES `object_definitions`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `accounts` ADD CONSTRAINT `accounts_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `accounts` ADD CONSTRAINT `accounts_ownerId_fkey` FOREIGN KEY (`ownerId`) REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `apps` ADD CONSTRAINT `apps_tenantId_fkey` FOREIGN KEY (`tenantId`) REFERENCES `tenants`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `app_pages` ADD CONSTRAINT `app_pages_appId_fkey` FOREIGN KEY (`appId`) REFERENCES `apps`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `app_pages` ADD CONSTRAINT `app_pages_objectId_fkey` FOREIGN KEY (`objectId`) REFERENCES `object_definitions`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;