Uecko_ERP/docs/dev/identity-ddl.sql

47 lines
2.6 KiB
MySQL
Raw Normal View History

CREATE TABLE `identity_accounts` (
`id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`email` varchar(255) NOT NULL,
`password_hash` varchar(512) NOT NULL,
`name` varchar(255) NOT NULL,
`avatar_url` varchar(255) DEFAULT NULL,
`language_code` varchar(2) NOT NULL,
`status` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uq_identity_accounts_email` (`email`),
KEY `idx_identity_accounts_status` (`status`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;
CREATE TABLE `identity_company_memberships` (
`id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`account_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`company_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`status` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uq_identity_company_memberships_account_company` (`account_id`, `company_id`),
KEY `idx_identity_company_memberships_account_id` (`account_id`),
KEY `idx_identity_company_memberships_company_id` (`company_id`),
KEY `idx_identity_company_memberships_status` (`status`),
CONSTRAINT `identity_company_memberships_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `identity_accounts` (`id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;
CREATE TABLE `identity_refresh_tokens` (
`id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`account_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`token_hash` varchar(512) NOT NULL,
`expires_at` datetime NOT NULL,
`revoked_at` datetime DEFAULT NULL,
`replaced_by_token_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uq_identity_refresh_tokens_hash` (`token_hash`),
KEY `idx_identity_refresh_tokens_account_id` (`account_id`),
KEY `idx_identity_refresh_tokens_expires_at` (`expires_at`),
KEY `idx_identity_refresh_tokens_revoked_at` (`revoked_at`),
KEY `replaced_by_token_id` (`replaced_by_token_id`),
CONSTRAINT `identity_refresh_tokens_ibfk_285` FOREIGN KEY (`account_id`) REFERENCES `identity_accounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `identity_refresh_tokens_ibfk_286` FOREIGN KEY (`replaced_by_token_id`) REFERENCES `identity_refresh_tokens` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;