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;