From 05ccb4d8f1bbe3fb64e117136b4a89bcfb0b0b33 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 27 Oct 2020 19:21:35 +0800 Subject: Split front and back end. --- .../20200105150407_Initialize.Designer.cs | 266 ---------------- Timeline/Migrations/20200105150407_Initialize.cs | 217 ------------- .../20200131100517_RefactorUser.Designer.cs | 240 --------------- Timeline/Migrations/20200131100517_RefactorUser.cs | 128 -------- .../20200221064341_AddJwtToken.Designer.cs | 257 ---------------- Timeline/Migrations/20200221064341_AddJwtToken.cs | 45 --- .../20200229103848_AddPostLocalId.Designer.cs | 265 ---------------- .../Migrations/20200229103848_AddPostLocalId.cs | 42 --- .../20200306110049_AddDataTable.Designer.cs | 290 ------------------ Timeline/Migrations/20200306110049_AddDataTable.cs | 87 ------ .../20200306111553_DropUserDetails.Designer.cs | 290 ------------------ .../Migrations/20200306111553_DropUserDetails.cs | 17 - .../20200312112552_AddImagePost.Designer.cs | 299 ------------------ Timeline/Migrations/20200312112552_AddImagePost.cs | 38 --- .../20200614061237_AddTimelineUniqueId.Designer.cs | 306 ------------------ .../20200614061237_AddTimelineUniqueId.cs | 50 --- ...00618064936_TimelineAddModifiedTime.Designer.cs | 314 ------------------- .../20200618064936_TimelineAddModifiedTime.cs | 57 ---- .../20200808071611_UserAddUniqueId.Designer.cs | 321 ------------------- .../Migrations/20200808071611_UserAddUniqueId.cs | 55 ---- .../20200810155908_AddTimesToUser.Designer.cs | 339 -------------------- .../Migrations/20200810155908_AddTimesToUser.cs | 67 ---- ...200810170533_MakePostAuthorOptional.Designer.cs | 337 -------------------- .../20200810170533_MakePostAuthorOptional.cs | 78 ----- ...0808_ChangeDateTimeOffsetToDateTime.Designer.cs | 337 -------------------- ...0200811080808_ChangeDateTimeOffsetToDateTime.cs | 17 - .../20200826164553_TimelineAddTitle.Designer.cs | 341 --------------------- .../Migrations/20200826164553_TimelineAddTitle.cs | 22 -- .../Migrations/DatabaseContextModelSnapshot.cs | 339 -------------------- 29 files changed, 5461 deletions(-) delete mode 100644 Timeline/Migrations/20200105150407_Initialize.Designer.cs delete mode 100644 Timeline/Migrations/20200105150407_Initialize.cs delete mode 100644 Timeline/Migrations/20200131100517_RefactorUser.Designer.cs delete mode 100644 Timeline/Migrations/20200131100517_RefactorUser.cs delete mode 100644 Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs delete mode 100644 Timeline/Migrations/20200221064341_AddJwtToken.cs delete mode 100644 Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs delete mode 100644 Timeline/Migrations/20200229103848_AddPostLocalId.cs delete mode 100644 Timeline/Migrations/20200306110049_AddDataTable.Designer.cs delete mode 100644 Timeline/Migrations/20200306110049_AddDataTable.cs delete mode 100644 Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs delete mode 100644 Timeline/Migrations/20200306111553_DropUserDetails.cs delete mode 100644 Timeline/Migrations/20200312112552_AddImagePost.Designer.cs delete mode 100644 Timeline/Migrations/20200312112552_AddImagePost.cs delete mode 100644 Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs delete mode 100644 Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs delete mode 100644 Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs delete mode 100644 Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs delete mode 100644 Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs delete mode 100644 Timeline/Migrations/20200808071611_UserAddUniqueId.cs delete mode 100644 Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs delete mode 100644 Timeline/Migrations/20200810155908_AddTimesToUser.cs delete mode 100644 Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs delete mode 100644 Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs delete mode 100644 Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs delete mode 100644 Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs delete mode 100644 Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs delete mode 100644 Timeline/Migrations/20200826164553_TimelineAddTitle.cs delete mode 100644 Timeline/Migrations/DatabaseContextModelSnapshot.cs (limited to 'Timeline/Migrations') diff --git a/Timeline/Migrations/20200105150407_Initialize.Designer.cs b/Timeline/Migrations/20200105150407_Initialize.Designer.cs deleted file mode 100644 index 99e4eaac..00000000 --- a/Timeline/Migrations/20200105150407_Initialize.Designer.cs +++ /dev/null @@ -1,266 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200105150407_Initialize")] - partial class Initialize - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.0"); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.User", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("EncryptedPassword") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Name") - .IsRequired() - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("RoleString") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("ETag") - .HasColumnName("etag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserDetail", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_details"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.User", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.User", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.User", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatar", b => - { - b.HasOne("Timeline.Entities.User", null) - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatar", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserDetail", b => - { - b.HasOne("Timeline.Entities.User", null) - .WithOne("Detail") - .HasForeignKey("Timeline.Entities.UserDetail", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200105150407_Initialize.cs b/Timeline/Migrations/20200105150407_Initialize.cs deleted file mode 100644 index 4e12ef83..00000000 --- a/Timeline/Migrations/20200105150407_Initialize.cs +++ /dev/null @@ -1,217 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class Initialize : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "users", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - name = table.Column(nullable: false), - password = table.Column(nullable: false), - roles = table.Column(nullable: false), - version = table.Column(nullable: false, defaultValue: 0L) - .Annotation("Sqlite:Autoincrement", true) - }, - constraints: table => - { - table.PrimaryKey("PK_users", x => x.id); - }); - - migrationBuilder.CreateTable( - name: "timelines", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - name = table.Column(nullable: true), - description = table.Column(nullable: true), - owner = table.Column(nullable: false), - visibility = table.Column(nullable: false), - create_time = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_timelines", x => x.id); - table.ForeignKey( - name: "FK_timelines_users_owner", - column: x => x.owner, - principalTable: "users", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "user_avatars", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - data = table.Column(nullable: true), - type = table.Column(nullable: true), - etag = table.Column(nullable: true), - last_modified = table.Column(nullable: false), - UserId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_user_avatars", x => x.id); - table.ForeignKey( - name: "FK_user_avatars_users_UserId", - column: x => x.UserId, - principalTable: "users", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "user_details", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - nickname = table.Column(nullable: true), - UserId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_user_details", x => x.id); - table.ForeignKey( - name: "FK_user_details_users_UserId", - column: x => x.UserId, - principalTable: "users", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "timeline_members", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - user = table.Column(nullable: false), - timeline = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_timeline_members", x => x.id); - table.ForeignKey( - name: "FK_timeline_members_timelines_timeline", - column: x => x.timeline, - principalTable: "timelines", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_timeline_members_users_user", - column: x => x.user, - principalTable: "users", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "timeline_posts", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - timeline = table.Column(nullable: false), - author = table.Column(nullable: false), - content = table.Column(nullable: true), - time = table.Column(nullable: false), - last_updated = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_timeline_posts", x => x.id); - table.ForeignKey( - name: "FK_timeline_posts_users_author", - column: x => x.author, - principalTable: "users", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_timeline_posts_timelines_timeline", - column: x => x.timeline, - principalTable: "timelines", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_timeline_members_timeline", - table: "timeline_members", - column: "timeline"); - - migrationBuilder.CreateIndex( - name: "IX_timeline_members_user", - table: "timeline_members", - column: "user"); - - migrationBuilder.CreateIndex( - name: "IX_timeline_posts_author", - table: "timeline_posts", - column: "author"); - - migrationBuilder.CreateIndex( - name: "IX_timeline_posts_timeline", - table: "timeline_posts", - column: "timeline"); - - migrationBuilder.CreateIndex( - name: "IX_timelines_owner", - table: "timelines", - column: "owner"); - - migrationBuilder.CreateIndex( - name: "IX_user_avatars_UserId", - table: "user_avatars", - column: "UserId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_user_details_UserId", - table: "user_details", - column: "UserId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_users_name", - table: "users", - column: "name", - unique: true); - - // Add a init user. Username is "administrator". Password is "crupest". - migrationBuilder.InsertData("users", new string[] { "name", "password", "roles" }, - new object[] { "administrator", "AQAAAAEAACcQAAAAENsspZrk8Wo+UuMyg6QuWJsNvRg6gVu4K/TumVod3h9GVLX9zDVuQQds3o7V8QWJ2w==", "user,admin" }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "timeline_members"); - - migrationBuilder.DropTable( - name: "timeline_posts"); - - migrationBuilder.DropTable( - name: "user_avatars"); - - migrationBuilder.DropTable( - name: "user_details"); - - migrationBuilder.DropTable( - name: "timelines"); - - migrationBuilder.DropTable( - name: "users"); - } - } -} diff --git a/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs b/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs deleted file mode 100644 index 9b78eb15..00000000 --- a/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs +++ /dev/null @@ -1,240 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200131100517_RefactorUser")] - partial class RefactorUser - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.1"); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("ETag") - .HasColumnName("etag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200131100517_RefactorUser.cs b/Timeline/Migrations/20200131100517_RefactorUser.cs deleted file mode 100644 index 8597ed50..00000000 --- a/Timeline/Migrations/20200131100517_RefactorUser.cs +++ /dev/null @@ -1,128 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class RefactorUser : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.RenameColumn(name: "name", table: "users", newName: "username"); - migrationBuilder.RenameIndex(name: "IX_users_name", table: "users", newName: "IX_users_username"); - - migrationBuilder.AddColumn( - name: "nickname", - table: "users", - nullable: true); - - migrationBuilder.Sql(@" -UPDATE users - SET nickname = ( - SELECT nickname - FROM user_details - WHERE user_details.UserId = users.id - ); - "); - - /* - migrationBuilder.RenameColumn(name: "UserId", table: "user_avatars", newName: "user"); - - migrationBuilder.DropForeignKey( - name: "FK_user_avatars_users_UserId", - table: "user_avatars"); - - migrationBuilder.AddForeignKey( - name: "FK_user_avatars_users_user", - table: "user_avatars", - column: "user", - principalTable: "users", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - - migrationBuilder.RenameIndex( - name: "IX_user_avatars_UserId", - table: "user_avatars", - newName: "IX_user_avatars_user"); - */ - - migrationBuilder.Sql(@" -CREATE TABLE user_avatars_backup ( - id INTEGER NOT NULL - CONSTRAINT PK_user_avatars PRIMARY KEY AUTOINCREMENT, - data BLOB, - type TEXT, - etag TEXT, - last_modified TEXT NOT NULL, - user INTEGER NOT NULL, - CONSTRAINT FK_user_avatars_users_user FOREIGN KEY ( - user - ) - REFERENCES users (id) ON DELETE CASCADE -); - -INSERT INTO user_avatars_backup (id, data, type, etag, last_modified, user) - SELECT id, data, type, etag, last_modified, UserId FROM user_avatars; - -DROP TABLE user_avatars; - -ALTER TABLE user_avatars_backup - RENAME TO user_avatars; - -CREATE UNIQUE INDEX IX_user_avatars_user ON user_avatars (user); - "); - - // migrationBuilder.DropTable(name: "user_details"); - - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.Sql(@" -CREATE TABLE user_avatars_backup ( - id INTEGER NOT NULL - CONSTRAINT PK_user_avatars PRIMARY KEY AUTOINCREMENT, - data BLOB, - type TEXT, - etag TEXT, - last_modified TEXT NOT NULL, - UserId INTEGER NOT NULL, - CONSTRAINT FK_user_avatars_users_UserId FOREIGN KEY ( - user - ) - REFERENCES users (id) ON DELETE CASCADE -); - -INSERT INTO user_avatars_backup (id, data, type, etag, last_modified, UserId) - SELECT id, data, type, etag, last_modified, user FROM user_avatars; - -DROP TABLE user_avatars; - -ALTER TABLE user_avatars_backup - RENAME TO user_avatars; - -CREATE UNIQUE INDEX IX_user_avatars_UserId ON user_avatars (UserId); - "); - - migrationBuilder.Sql(@" -CREATE TABLE users_backup ( - id INTEGER NOT NULL - CONSTRAINT PK_users PRIMARY KEY AUTOINCREMENT, - name TEXT NOT NULL, - password TEXT NOT NULL, - roles TEXT NOT NULL, - version INTEGER NOT NULL - DEFAULT 0 -); - -INSERT INTO users_backup (id, name, password, roles, version) - SELECT id, username, password, roles, version FROM users; - -DROP TABLE users; - -ALTER TABLE users_backup - RENAME TO users; - -CREATE UNIQUE INDEX IX_users_name ON users (name); - "); - } - } -} diff --git a/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs b/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs deleted file mode 100644 index eb328b52..00000000 --- a/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs +++ /dev/null @@ -1,257 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200221064341_AddJwtToken")] - partial class AddJwtToken - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.2"); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("ETag") - .HasColumnName("etag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200221064341_AddJwtToken.cs b/Timeline/Migrations/20200221064341_AddJwtToken.cs deleted file mode 100644 index 628970c6..00000000 --- a/Timeline/Migrations/20200221064341_AddJwtToken.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Security.Cryptography; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public static class JwtTokenGenerateHelper - { - public static byte[] GenerateKey() - { - using var random = RandomNumberGenerator.Create(); - var key = new byte[16]; - random.GetBytes(key); - return key; - } - } - - public partial class AddJwtToken : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "jwt_token", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - key = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_jwt_token", x => x.id); - }); - - - migrationBuilder.InsertData("jwt_token", "key", JwtTokenGenerateHelper.GenerateKey()); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "jwt_token"); - } - } -} diff --git a/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs b/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs deleted file mode 100644 index cf6ae8a3..00000000 --- a/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs +++ /dev/null @@ -1,265 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200229103848_AddPostLocalId")] - partial class AddPostLocalId - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.2"); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("ETag") - .HasColumnName("etag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200229103848_AddPostLocalId.cs b/Timeline/Migrations/20200229103848_AddPostLocalId.cs deleted file mode 100644 index 497b38a1..00000000 --- a/Timeline/Migrations/20200229103848_AddPostLocalId.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class AddPostLocalId : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - - migrationBuilder.AddColumn( - name: "current_post_local_id", - table: "timelines", - nullable: false, - defaultValue: 0L); - - migrationBuilder.AddColumn( - name: "local_id", - table: "timeline_posts", - nullable: false, - defaultValue: 0L); - - migrationBuilder.Sql(@" -UPDATE timeline_posts -SET local_id = (SELECT COUNT (*) - FROM timeline_posts AS p - WHERE p.timeline = timeline_posts.timeline - AND p.id <= timeline_posts.id); - -UPDATE timelines -SET current_post_local_id = (SELECT COUNT (*) - FROM timeline_posts AS p - WHERE p.timeline = timelines.id); - "); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs b/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs deleted file mode 100644 index 336ffc18..00000000 --- a/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs +++ /dev/null @@ -1,290 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200306110049_AddDataTable")] - partial class AddDataTable - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.2"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200306110049_AddDataTable.cs b/Timeline/Migrations/20200306110049_AddDataTable.cs deleted file mode 100644 index e33bf4c9..00000000 --- a/Timeline/Migrations/20200306110049_AddDataTable.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class AddDataTable : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "data", - columns: table => new - { - id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - tag = table.Column(nullable: false), - data = table.Column(nullable: false), - @ref = table.Column(name: "ref", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_data", x => x.id); - }); - - migrationBuilder.CreateIndex( - name: "IX_data_tag", - table: "data", - column: "tag", - unique: true); - - migrationBuilder.Sql(@" -ALTER TABLE user_avatars - RENAME TO user_avatars_backup; - -CREATE TABLE user_avatars ( - id INTEGER NOT NULL - CONSTRAINT PK_user_avatars PRIMARY KEY AUTOINCREMENT, - data_tag TEXT, - type TEXT, - last_modified TEXT NOT NULL, - user INTEGER NOT NULL, - CONSTRAINT FK_user_avatars_users_user FOREIGN KEY ( - user - ) - REFERENCES users (id) ON DELETE CASCADE -); - -INSERT INTO user_avatars (id, data_tag, type, last_modified, user) - SELECT id, etag, type, last_modified, user FROM user_avatars_backup; - -INSERT OR IGNORE INTO data (tag, data, ref) - SELECT etag, data, 0 FROM user_avatars_backup; - -UPDATE data -SET ref = (SELECT COUNT (*) - FROM user_avatars_backup AS a - WHERE a.etag == data.tag); - -DROP TABLE user_avatars_backup; - -CREATE UNIQUE INDEX IX_user_avatars_user ON user_avatars (user); - "); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "data"); - - migrationBuilder.DropColumn( - name: "data_tag", - table: "user_avatars"); - - migrationBuilder.AddColumn( - name: "data", - table: "user_avatars", - type: "BLOB", - nullable: true); - - migrationBuilder.AddColumn( - name: "etag", - table: "user_avatars", - type: "TEXT", - nullable: true); - } - } -} diff --git a/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs b/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs deleted file mode 100644 index f0c4dc08..00000000 --- a/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs +++ /dev/null @@ -1,290 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200306111553_DropUserDetails")] - partial class DropUserDetails - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.2"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200306111553_DropUserDetails.cs b/Timeline/Migrations/20200306111553_DropUserDetails.cs deleted file mode 100644 index 0a176461..00000000 --- a/Timeline/Migrations/20200306111553_DropUserDetails.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class DropUserDetails : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable(name: "user_details"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs b/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs deleted file mode 100644 index bd75a916..00000000 --- a/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs +++ /dev/null @@ -1,299 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200312112552_AddImagePost")] - partial class AddImagePost - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.2"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200312112552_AddImagePost.cs b/Timeline/Migrations/20200312112552_AddImagePost.cs deleted file mode 100644 index d5098ce0..00000000 --- a/Timeline/Migrations/20200312112552_AddImagePost.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; -using Timeline.Models; - -namespace Timeline.Migrations -{ - public partial class AddImagePost : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "content_type", - table: "timeline_posts", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "extra_content", - table: "timeline_posts", - nullable: true); - - migrationBuilder.Sql($@" -UPDATE timeline_posts -SET content_type = '{TimelinePostContentTypes.Text}'; - "); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "content_type", - table: "timeline_posts"); - - migrationBuilder.DropColumn( - name: "extra_content", - table: "timeline_posts"); - } - } -} diff --git a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs b/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs deleted file mode 100644 index adcc6308..00000000 --- a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs +++ /dev/null @@ -1,306 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200614061237_AddTimelineUniqueId")] - partial class AddTimelineUniqueId - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.4"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs b/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs deleted file mode 100644 index 7abbed79..00000000 --- a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class AddTimelineUniqueId : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - 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, - 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 new_timelines (id, name, description, owner, visibility, create_time, current_post_local_id) - SELECT id, name, description, owner, visibility, create_time, 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) - { - } - } -} diff --git a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs b/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs deleted file mode 100644 index fd10dfa9..00000000 --- a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs +++ /dev/null @@ -1,314 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200618064936_TimelineAddModifiedTime")] - partial class TimelineAddModifiedTime - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.5"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("NameLastModified") - .HasColumnName("name_last_modified") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs b/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs deleted file mode 100644 index c277fe39..00000000 --- a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs +++ /dev/null @@ -1,57 +0,0 @@ -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) - { - - } - } -} diff --git a/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs b/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs deleted file mode 100644 index fe2329e4..00000000 --- a/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs +++ /dev/null @@ -1,321 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200808071611_UserAddUniqueId")] - partial class UserAddUniqueId - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.5"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("NameLastModified") - .HasColumnName("name_last_modified") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200808071611_UserAddUniqueId.cs b/Timeline/Migrations/20200808071611_UserAddUniqueId.cs deleted file mode 100644 index 651a2b05..00000000 --- a/Timeline/Migrations/20200808071611_UserAddUniqueId.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class UserAddUniqueId : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.Sql( -@" -PRAGMA foreign_keys=OFF; - -BEGIN TRANSACTION; - -CREATE TABLE new_users ( - id INTEGER NOT NULL - CONSTRAINT PK_users PRIMARY KEY AUTOINCREMENT, - unique_id TEXT NOT NULL DEFAULT (lower(hex(randomblob(16)))), - username TEXT NOT NULL, - password TEXT NOT NULL, - roles TEXT NOT NULL, - version INTEGER NOT NULL - DEFAULT 0, - nickname TEXT -); - -INSERT INTO new_users (id, username, password, roles, version, nickname) - SELECT id, username, password, roles, version, nickname FROM users; - -DROP TABLE users; - -ALTER TABLE new_users - RENAME TO users; - -CREATE UNIQUE INDEX IX_users_username ON users ( - username -); - -PRAGMA foreign_key_check; - -COMMIT TRANSACTION; - -PRAGMA foreign_keys=ON; -" - , true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "unique_id", - table: "users"); - } - } -} diff --git a/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs b/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs deleted file mode 100644 index 71cc54dc..00000000 --- a/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs +++ /dev/null @@ -1,339 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200810155908_AddTimesToUser")] - partial class AddTimesToUser - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.5"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("NameLastModified") - .HasColumnName("name_last_modified") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .ValueGeneratedOnAdd() - .HasColumnName("create_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("LastModified") - .ValueGeneratedOnAdd() - .HasColumnName("last_modified") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("UsernameChangeTime") - .ValueGeneratedOnAdd() - .HasColumnName("username_change_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200810155908_AddTimesToUser.cs b/Timeline/Migrations/20200810155908_AddTimesToUser.cs deleted file mode 100644 index 369f85e6..00000000 --- a/Timeline/Migrations/20200810155908_AddTimesToUser.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class AddTimesToUser : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.Sql( -@" -PRAGMA foreign_keys=OFF; - -BEGIN TRANSACTION; - -CREATE TABLE new_users ( - id INTEGER NOT NULL - CONSTRAINT PK_users PRIMARY KEY AUTOINCREMENT, - unique_id TEXT NOT NULL DEFAULT (lower(hex(randomblob(16)))), - username TEXT NOT NULL, - password TEXT NOT NULL, - roles TEXT NOT NULL, - version INTEGER NOT NULL - DEFAULT 0, - nickname TEXT, - create_time TEXT NOT NULL DEFAULT (datetime('now', 'utc')), - last_modified TEXT NOT NULL DEFAULT (datetime('now', 'utc')), - username_change_time TEXT NOT NULL DEFAULT (datetime('now', 'utc')) -); - -INSERT INTO new_users (id, unique_id, username, password, roles, version, nickname) - SELECT id, unique_id, username, password, roles, version, nickname FROM users; - -DROP TABLE users; - -ALTER TABLE new_users - RENAME TO users; - -CREATE UNIQUE INDEX IX_users_username ON users ( - username -); - -PRAGMA foreign_key_check; - -COMMIT TRANSACTION; - -PRAGMA foreign_keys=ON; -" -, true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "create_time", - table: "users"); - - migrationBuilder.DropColumn( - name: "last_modified", - table: "users"); - - migrationBuilder.DropColumn( - name: "username_change_time", - table: "users"); - } - } -} diff --git a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs b/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs deleted file mode 100644 index 80598fdf..00000000 --- a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs +++ /dev/null @@ -1,337 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200810170533_MakePostAuthorOptional")] - partial class MakePostAuthorOptional - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.5"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("NameLastModified") - .HasColumnName("name_last_modified") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .ValueGeneratedOnAdd() - .HasColumnName("create_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("LastModified") - .ValueGeneratedOnAdd() - .HasColumnName("last_modified") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("UsernameChangeTime") - .ValueGeneratedOnAdd() - .HasColumnName("username_change_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId"); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs b/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs deleted file mode 100644 index b0f0bca7..00000000 --- a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs +++ /dev/null @@ -1,78 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class MakePostAuthorOptional : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.Sql(@" -PRAGMA foreign_keys = 0; - -BEGIN TRANSACTION; - -CREATE TABLE new_timeline_posts ( - id INTEGER NOT NULL - CONSTRAINT PK_timeline_posts PRIMARY KEY AUTOINCREMENT, - timeline INTEGER NOT NULL, - author INTEGER, - content TEXT, - time TEXT NOT NULL, - last_updated TEXT NOT NULL, - local_id INTEGER NOT NULL - DEFAULT 0, - content_type TEXT NOT NULL - DEFAULT '', - extra_content TEXT, - CONSTRAINT FK_timeline_posts_users_author FOREIGN KEY ( - author - ) - REFERENCES users (id), - CONSTRAINT FK_timeline_posts_timelines_timeline FOREIGN KEY ( - timeline - ) - REFERENCES timelines (id) ON DELETE CASCADE -); - -INSERT INTO new_timeline_posts SELECT * FROM timeline_posts; - -DROP TABLE timeline_posts; - -ALTER TABLE new_timeline_posts RENAME TO timeline_posts; - -CREATE INDEX IX_timeline_posts_author ON timeline_posts (author); - -CREATE INDEX IX_timeline_posts_timeline ON timeline_posts(timeline); - -PRAGMA foreign_key_check; - -COMMIT TRANSACTION; - -PRAGMA foreign_keys = 1; - ", true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_timeline_posts_users_author", - table: "timeline_posts"); - - migrationBuilder.AlterColumn( - name: "author", - table: "timeline_posts", - type: "INTEGER", - nullable: false, - oldClrType: typeof(long), - oldNullable: true); - - migrationBuilder.AddForeignKey( - name: "FK_timeline_posts_users_author", - table: "timeline_posts", - column: "author", - principalTable: "users", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - } - } -} diff --git a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs b/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs deleted file mode 100644 index 58238557..00000000 --- a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs +++ /dev/null @@ -1,337 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200811080808_ChangeDateTimeOffsetToDateTime")] - partial class ChangeDateTimeOffsetToDateTime - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.5"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("NameLastModified") - .HasColumnName("name_last_modified") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .ValueGeneratedOnAdd() - .HasColumnName("create_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("LastModified") - .ValueGeneratedOnAdd() - .HasColumnName("last_modified") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("UsernameChangeTime") - .ValueGeneratedOnAdd() - .HasColumnName("username_change_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId"); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs b/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs deleted file mode 100644 index eb6b44f3..00000000 --- a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class ChangeDateTimeOffsetToDateTime : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs b/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs deleted file mode 100644 index f2279f3b..00000000 --- a/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs +++ /dev/null @@ -1,341 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - [Migration("20200826164553_TimelineAddTitle")] - partial class TimelineAddTitle - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.7"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("NameLastModified") - .HasColumnName("name_last_modified") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Title") - .HasColumnName("title") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .ValueGeneratedOnAdd() - .HasColumnName("create_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("LastModified") - .ValueGeneratedOnAdd() - .HasColumnName("last_modified") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("UsernameChangeTime") - .ValueGeneratedOnAdd() - .HasColumnName("username_change_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId"); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Timeline/Migrations/20200826164553_TimelineAddTitle.cs b/Timeline/Migrations/20200826164553_TimelineAddTitle.cs deleted file mode 100644 index 7e8c498b..00000000 --- a/Timeline/Migrations/20200826164553_TimelineAddTitle.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Timeline.Migrations -{ - public partial class TimelineAddTitle : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "title", - table: "timelines", - nullable: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "title", - table: "timelines"); - } - } -} diff --git a/Timeline/Migrations/DatabaseContextModelSnapshot.cs b/Timeline/Migrations/DatabaseContextModelSnapshot.cs deleted file mode 100644 index 65ae6c9a..00000000 --- a/Timeline/Migrations/DatabaseContextModelSnapshot.cs +++ /dev/null @@ -1,339 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Timeline.Entities; - -namespace Timeline.Migrations -{ - [DbContext(typeof(DatabaseContext))] - partial class DatabaseContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "3.1.7"); - - modelBuilder.Entity("Timeline.Entities.DataEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Data") - .IsRequired() - .HasColumnName("data") - .HasColumnType("BLOB"); - - b.Property("Ref") - .HasColumnName("ref") - .HasColumnType("INTEGER"); - - b.Property("Tag") - .IsRequired() - .HasColumnName("tag") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.HasIndex("Tag") - .IsUnique(); - - b.ToTable("data"); - }); - - modelBuilder.Entity("Timeline.Entities.JwtTokenEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("Key") - .IsRequired() - .HasColumnName("key") - .HasColumnType("BLOB"); - - b.HasKey("Id"); - - b.ToTable("jwt_token"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .HasColumnName("create_time") - .HasColumnType("TEXT"); - - b.Property("CurrentPostLocalId") - .HasColumnName("current_post_local_id") - .HasColumnType("INTEGER"); - - b.Property("Description") - .HasColumnName("description") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Name") - .HasColumnName("name") - .HasColumnType("TEXT"); - - b.Property("NameLastModified") - .HasColumnName("name_last_modified") - .HasColumnType("TEXT"); - - b.Property("OwnerId") - .HasColumnName("owner") - .HasColumnType("INTEGER"); - - b.Property("Title") - .HasColumnName("title") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Visibility") - .HasColumnName("visibility") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("OwnerId"); - - b.ToTable("timelines"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("TimelineId"); - - b.HasIndex("UserId"); - - b.ToTable("timeline_members"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("AuthorId") - .HasColumnName("author") - .HasColumnType("INTEGER"); - - b.Property("Content") - .HasColumnName("content") - .HasColumnType("TEXT"); - - b.Property("ContentType") - .IsRequired() - .HasColumnName("content_type") - .HasColumnType("TEXT"); - - b.Property("ExtraContent") - .HasColumnName("extra_content") - .HasColumnType("TEXT"); - - b.Property("LastUpdated") - .HasColumnName("last_updated") - .HasColumnType("TEXT"); - - b.Property("LocalId") - .HasColumnName("local_id") - .HasColumnType("INTEGER"); - - b.Property("Time") - .HasColumnName("time") - .HasColumnType("TEXT"); - - b.Property("TimelineId") - .HasColumnName("timeline") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("AuthorId"); - - b.HasIndex("TimelineId"); - - b.ToTable("timeline_posts"); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("DataTag") - .HasColumnName("data_tag") - .HasColumnType("TEXT"); - - b.Property("LastModified") - .HasColumnName("last_modified") - .HasColumnType("TEXT"); - - b.Property("Type") - .HasColumnName("type") - .HasColumnType("TEXT"); - - b.Property("UserId") - .HasColumnName("user") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("user_avatars"); - }); - - modelBuilder.Entity("Timeline.Entities.UserEntity", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnName("id") - .HasColumnType("INTEGER"); - - b.Property("CreateTime") - .ValueGeneratedOnAdd() - .HasColumnName("create_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("LastModified") - .ValueGeneratedOnAdd() - .HasColumnName("last_modified") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Nickname") - .HasColumnName("nickname") - .HasColumnType("TEXT"); - - b.Property("Password") - .IsRequired() - .HasColumnName("password") - .HasColumnType("TEXT"); - - b.Property("Roles") - .IsRequired() - .HasColumnName("roles") - .HasColumnType("TEXT"); - - b.Property("UniqueId") - .IsRequired() - .ValueGeneratedOnAdd() - .HasColumnName("unique_id") - .HasColumnType("TEXT") - .HasDefaultValueSql("lower(hex(randomblob(16)))"); - - b.Property("Username") - .IsRequired() - .HasColumnName("username") - .HasColumnType("TEXT"); - - b.Property("UsernameChangeTime") - .ValueGeneratedOnAdd() - .HasColumnName("username_change_time") - .HasColumnType("TEXT") - .HasDefaultValueSql("datetime('now', 'utc')"); - - b.Property("Version") - .ValueGeneratedOnAdd() - .HasColumnName("version") - .HasColumnType("INTEGER") - .HasDefaultValue(0L); - - b.HasKey("Id"); - - b.HasIndex("Username") - .IsUnique(); - - b.ToTable("users"); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Owner") - .WithMany("Timelines") - .HasForeignKey("OwnerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelineMemberEntity", b => - { - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Members") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithMany("TimelinesJoined") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.TimelinePostEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "Author") - .WithMany("TimelinePosts") - .HasForeignKey("AuthorId"); - - b.HasOne("Timeline.Entities.TimelineEntity", "Timeline") - .WithMany("Posts") - .HasForeignKey("TimelineId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Timeline.Entities.UserAvatarEntity", b => - { - b.HasOne("Timeline.Entities.UserEntity", "User") - .WithOne("Avatar") - .HasForeignKey("Timeline.Entities.UserAvatarEntity", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} -- cgit v1.2.3