システム内で使用する列挙型の値をデータベースで管理したい
CREATE TABLE IF NOT EXISTS `enumerations` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `slug` VARCHAR(255) NOT NULL comment '分類名 階層のセパレータは :: とする(先頭セパレータ不要)', `name` VARCHAR(255) NULL comment '表示名が value と異なる場合のみ指定', `value` VARCHAR(255) NOT NULL, `weight` INT(11) NOT NULL DEFAULT '0', `note` text NULL, `applied_at` DATETIME NOT NULL, `expired_at` DATETIME NULL DEFAULT NULL, `created_by` VARCHAR(20) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `created_at` DATETIME(3) NOT NULL, `updated_by` VARCHAR(20) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `updated_at` DATETIME(3) NULL DEFAULT NULL, `deleted_by` VARCHAR(20) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci', `deleted_at` DATETIME(3) NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `UNQ__slug__value__applied_at` (`slug`, `value`, `applied_at`), INDEX `IDX__slug` (`slug`) ) ENGINE=InnoDB COLLATE='utf8mb4_general_ci';