From 41210c20cd6fef83530adbdaf5fb97e9f929ab6c Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 13 Jun 2020 23:50:09 +0800 Subject: feat(back): Add database migration to add unique id for timeline. --- .../20200613135613_AddTimelineUniqueId.cs | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Timeline/Migrations/20200613135613_AddTimelineUniqueId.cs (limited to 'Timeline/Migrations/20200613135613_AddTimelineUniqueId.cs') diff --git a/Timeline/Migrations/20200613135613_AddTimelineUniqueId.cs b/Timeline/Migrations/20200613135613_AddTimelineUniqueId.cs new file mode 100644 index 00000000..fdca85b2 --- /dev/null +++ b/Timeline/Migrations/20200613135613_AddTimelineUniqueId.cs @@ -0,0 +1,39 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace Timeline.Migrations +{ + public partial class AddTimelineUniqueId : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.Sql( +@" +ALTER TABLE timelines RENAME TO timelines_backup; + +CREATE TABLE timelines ( + id INTEGER NOT NULL CONSTRAINT PK_timelines PRIMARY KEY AUTOINCREMENT, + unique_id TEXT NOT NULL DEFAULT (timeline_create_guid()), + name TEXT NULL, + description TEXT NULL, + owner INTEGER NOT NULL, + visibility INTEGER NOT NULL, + create_time TEXT NOT NULL, current_post_local_id INTEGER NOT NULL DEFAULT 0, + CONSTRAINT FK_timelines_users_owner FOREIGN KEY (owner) REFERENCES users (id) ON DELETE CASCADE +); + +INSERT INTO timelines (id, name, description, owner, visibility, create_time) + SELECT id, name, description, owner, visibility, create_time FROM timelines_backup; + +DROP TABLE timelines_backup; +" + ); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "unique_id", + table: "timelines"); + } + } +} -- cgit v1.2.3