25 lines
1.1 KiB
SQL
25 lines
1.1 KiB
SQL
-- 经济指标: 明细数据拆到独立表, 兼容年/季/月/日频率
|
|
-- 第一步: 建 IndicatorPoint 表 + Indicator 加元数据列 (data 列暂保留, 由迁移脚本搬运后删除)
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `IndicatorPoint` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`indicatorId` INTEGER NOT NULL,
|
|
`period` VARCHAR(191) NOT NULL,
|
|
`value` DOUBLE NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updatedAt` DATETIME(3) NOT NULL,
|
|
|
|
UNIQUE INDEX `IndicatorPoint_indicatorId_period_key`(`indicatorId`, `period`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AlterTable: 元数据列 (data JSON 拆出)
|
|
ALTER TABLE `Indicator` ADD COLUMN `title` VARCHAR(191) NOT NULL DEFAULT '',
|
|
ADD COLUMN `unit` VARCHAR(191) NOT NULL DEFAULT '',
|
|
ADD COLUMN `source` VARCHAR(191) NOT NULL DEFAULT '',
|
|
ADD COLUMN `frequency` VARCHAR(191) NOT NULL DEFAULT 'month';
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `IndicatorPoint` ADD CONSTRAINT `IndicatorPoint_indicatorId_fkey` FOREIGN KEY (`indicatorId`) REFERENCES `Indicator`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|