36 lines
1.4 KiB
SQL
36 lines
1.4 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `daily_reports` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`date` DATE NOT NULL,
|
|
`title` VARCHAR(200) NOT NULL,
|
|
`summary` TEXT NULL,
|
|
`hot_count` INTEGER NOT NULL DEFAULT 0,
|
|
`cover_url` VARCHAR(255) NULL,
|
|
`status` ENUM('draft', 'published') NOT NULL DEFAULT 'draft',
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
|
|
UNIQUE INDEX `daily_reports_date_key`(`date`),
|
|
INDEX `daily_reports_status_idx`(`status`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `daily_report_items` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`report_id` INTEGER NOT NULL,
|
|
`sort_order` INTEGER NOT NULL DEFAULT 0,
|
|
`category` VARCHAR(20) NOT NULL DEFAULT 'tech',
|
|
`title` VARCHAR(200) NOT NULL,
|
|
`summary` TEXT NULL,
|
|
`detail` TEXT NULL,
|
|
`source_url` VARCHAR(500) NULL,
|
|
`image_url` VARCHAR(255) NULL,
|
|
`hot_score` INTEGER NOT NULL DEFAULT 0,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `daily_report_items_report_id_sort_order_idx`(`report_id`, `sort_order`),
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `daily_report_items_report_id_fkey` FOREIGN KEY (`report_id`) REFERENCES `daily_reports`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|