22 lines
1.1 KiB
SQL
22 lines
1.1 KiB
SQL
CREATE TABLE `plaza_posts` (
|
|
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`image_generation_id` BIGINT UNSIGNED NOT NULL,
|
|
`user_id` INT NOT NULL,
|
|
`status` ENUM('PUBLIC', 'HIDDEN', 'REMOVED') NOT NULL DEFAULT 'PUBLIC',
|
|
`published_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`hidden_at` DATETIME(3) NULL,
|
|
`removed_at` DATETIME(3) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE INDEX `plaza_posts_image_generation_id_key` (`image_generation_id`),
|
|
INDEX `plaza_posts_status_published_at_idx` (`status`, `published_at`),
|
|
INDEX `plaza_posts_user_id_published_at_idx` (`user_id`, `published_at`),
|
|
CONSTRAINT `plaza_posts_image_generation_id_fkey`
|
|
FOREIGN KEY (`image_generation_id`) REFERENCES `image_generations` (`id`)
|
|
ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `plaza_posts_user_id_fkey`
|
|
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
|
|
ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|