aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-06-18 18:14:18 +0800
committerGitHub <noreply@github.com>2020-06-18 18:14:18 +0800
commit135f47e7477bb2a72c423145dcd286ae494fd3ed (patch)
treec4e27cac4b2057c645f031be12eda896b96aa435 /Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs
parent3dc9460798798e5ba155fae7b6afe84522c2c619 (diff)
parent2f91cce1c29ac4b9b49ca389b565c66199985f2d (diff)
downloadtimeline-135f47e7477bb2a72c423145dcd286ae494fd3ed.tar.gz
timeline-135f47e7477bb2a72c423145dcd286ae494fd3ed.tar.bz2
timeline-135f47e7477bb2a72c423145dcd286ae494fd3ed.zip
Merge pull request #111 from crupest/timeline-last-modified
Timeline last modified property.
Diffstat (limited to 'Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs')
-rw-r--r--Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs57
1 files changed, 57 insertions, 0 deletions
diff --git a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs b/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs
new file mode 100644
index 00000000..c277fe39
--- /dev/null
+++ b/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs
@@ -0,0 +1,57 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+namespace Timeline.Migrations
+{
+ public partial class TimelineAddModifiedTime : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ var currentTime = new DateTimeToStringConverter().ConvertToProvider(DateTime.Now);
+
+ migrationBuilder.Sql(
+@$"
+PRAGMA foreign_keys=OFF;
+
+BEGIN TRANSACTION;
+
+CREATE TABLE new_timelines (
+ id INTEGER NOT NULL CONSTRAINT PK_timelines PRIMARY KEY AUTOINCREMENT,
+ unique_id TEXT NOT NULL DEFAULT (lower(hex(randomblob(16)))),
+ name TEXT NULL,
+ name_last_modified TEXT NOT NULL,
+ description TEXT NULL,
+ owner INTEGER NOT NULL,
+ visibility INTEGER NOT NULL,
+ create_time TEXT NOT NULL,
+ last_modified 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 new_timelines (id, unique_id, name, name_last_modified, description, owner, visibility, create_time, last_modified, current_post_local_id)
+ SELECT id, unique_id, name, '{currentTime}', description, owner, visibility, create_time, '{currentTime}', current_post_local_id FROM timelines;
+
+DROP TABLE timelines;
+
+ALTER TABLE new_timelines
+ RENAME TO timelines;
+
+CREATE INDEX IX_timelines_owner ON timelines (owner);
+
+PRAGMA foreign_key_check;
+
+COMMIT TRANSACTION;
+
+PRAGMA foreign_keys=ON;
+"
+ , true);
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+
+ }
+ }
+}