diff options
author | 杨宇千 <crupest@outlook.com> | 2019-10-31 14:58:36 +0800 |
---|---|---|
committer | 杨宇千 <crupest@outlook.com> | 2019-10-31 14:58:36 +0800 |
commit | cf2055f956695bc0b9ecdb6d8023d0d199b98462 (patch) | |
tree | ba42530cf4f13621a7a3a7ff661e383117119883 | |
parent | a1109e9ac3f059e27089d981972f53bfe61e8f46 (diff) | |
download | timeline-cf2055f956695bc0b9ecdb6d8023d0d199b98462.tar.gz timeline-cf2055f956695bc0b9ecdb6d8023d0d199b98462.tar.bz2 timeline-cf2055f956695bc0b9ecdb6d8023d0d199b98462.zip |
Recreate database and migrations.
26 files changed, 300 insertions, 1220 deletions
diff --git a/Timeline.Tests/PasswordGenerator.cs b/Timeline.Tests/PasswordGenerator.cs new file mode 100644 index 00000000..6c07836b --- /dev/null +++ b/Timeline.Tests/PasswordGenerator.cs @@ -0,0 +1,24 @@ +using System;
+using Timeline.Services;
+using Xunit;
+using Xunit.Abstractions;
+
+namespace Timeline.Tests
+{
+ public class PasswordGenerator
+ {
+ private readonly ITestOutputHelper _output;
+
+ public PasswordGenerator(ITestOutputHelper output)
+ {
+ _output = output;
+ }
+
+ [Fact]
+ public void Generate()
+ {
+ var service = new PasswordService();
+ _output.WriteLine(service.HashPassword("crupest"));
+ }
+ }
+}
diff --git a/Timeline/Migrations/20190412102517_InitCreate.Designer.cs b/Timeline/Migrations/20190412102517_InitCreate.Designer.cs deleted file mode 100644 index 86a46720..00000000 --- a/Timeline/Migrations/20190412102517_InitCreate.Designer.cs +++ /dev/null @@ -1,43 +0,0 @@ -// <auto-generated />
-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("20190412102517_InitCreate")]
- partial class InitCreate
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Models.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .HasColumnName("name");
-
- b.Property<string>("RoleString")
- .HasColumnName("roles");
-
- b.HasKey("Id");
-
- b.ToTable("user");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190412102517_InitCreate.cs b/Timeline/Migrations/20190412102517_InitCreate.cs deleted file mode 100644 index 55930f6d..00000000 --- a/Timeline/Migrations/20190412102517_InitCreate.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class InitCreate : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "user",
- columns: table => new
- {
- id = table.Column<long>(nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- name = table.Column<string>(nullable: true),
- password = table.Column<string>(nullable: true),
- roles = table.Column<string>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_user", x => x.id);
- });
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "user");
- }
- }
-}
diff --git a/Timeline/Migrations/20190412144150_AddAdminUser.Designer.cs b/Timeline/Migrations/20190412144150_AddAdminUser.Designer.cs deleted file mode 100644 index 2e6b5f74..00000000 --- a/Timeline/Migrations/20190412144150_AddAdminUser.Designer.cs +++ /dev/null @@ -1,43 +0,0 @@ -// <auto-generated />
-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("20190412144150_AddAdminUser")]
- partial class AddAdminUser
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Models.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .HasColumnName("name");
-
- b.Property<string>("RoleString")
- .HasColumnName("roles");
-
- b.HasKey("Id");
-
- b.ToTable("user");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190412144150_AddAdminUser.cs b/Timeline/Migrations/20190412144150_AddAdminUser.cs deleted file mode 100644 index b6760f3e..00000000 --- a/Timeline/Migrations/20190412144150_AddAdminUser.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-using Timeline.Services;
-
-namespace Timeline.Migrations
-{
- public partial class AddAdminUser : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.InsertData("user", new string[] { "name", "password", "roles" },
- new string[] { "crupest", new PasswordService().HashPassword("yang0101"), "user,admin" });
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DeleteData("user", "name", "crupest");
- }
- }
-}
diff --git a/Timeline/Migrations/20190412153003_MakeColumnsInUserNotNull.Designer.cs b/Timeline/Migrations/20190412153003_MakeColumnsInUserNotNull.Designer.cs deleted file mode 100644 index 263efb8a..00000000 --- a/Timeline/Migrations/20190412153003_MakeColumnsInUserNotNull.Designer.cs +++ /dev/null @@ -1,46 +0,0 @@ -// <auto-generated />
-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("20190412153003_MakeColumnsInUserNotNull")]
- partial class MakeColumnsInUserNotNull
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Models.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name");
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.HasKey("Id");
-
- b.ToTable("user");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190412153003_MakeColumnsInUserNotNull.cs b/Timeline/Migrations/20190412153003_MakeColumnsInUserNotNull.cs deleted file mode 100644 index 12053906..00000000 --- a/Timeline/Migrations/20190412153003_MakeColumnsInUserNotNull.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class MakeColumnsInUserNotNull : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AlterColumn<string>(
- name: "roles",
- table: "user",
- nullable: false,
- oldClrType: typeof(string),
- oldNullable: true);
-
- migrationBuilder.AlterColumn<string>(
- name: "name",
- table: "user",
- nullable: false,
- oldClrType: typeof(string),
- oldNullable: true);
-
- migrationBuilder.AlterColumn<string>(
- name: "password",
- table: "user",
- nullable: false,
- oldClrType: typeof(string),
- oldNullable: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AlterColumn<string>(
- name: "roles",
- table: "user",
- nullable: true,
- oldClrType: typeof(string));
-
- migrationBuilder.AlterColumn<string>(
- name: "name",
- table: "user",
- nullable: true,
- oldClrType: typeof(string));
-
- migrationBuilder.AlterColumn<string>(
- name: "password",
- table: "user",
- nullable: true,
- oldClrType: typeof(string));
- }
- }
-}
diff --git a/Timeline/Migrations/20190719115321_Add-User-Version.Designer.cs b/Timeline/Migrations/20190719115321_Add-User-Version.Designer.cs deleted file mode 100644 index d61259b5..00000000 --- a/Timeline/Migrations/20190719115321_Add-User-Version.Designer.cs +++ /dev/null @@ -1,49 +0,0 @@ -// <auto-generated />
-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("20190719115321_Add-User-Version")]
- partial class AddUserVersion
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Models.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name");
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .HasColumnName("version");
-
- b.HasKey("Id");
-
- b.ToTable("user");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190719115321_Add-User-Version.cs b/Timeline/Migrations/20190719115321_Add-User-Version.cs deleted file mode 100644 index 4d6bd60a..00000000 --- a/Timeline/Migrations/20190719115321_Add-User-Version.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class AddUserVersion : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn<long>(
- name: "version",
- table: "user",
- nullable: false,
- defaultValue: 0L);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- name: "version",
- table: "user");
- }
- }
-}
diff --git a/Timeline/Migrations/20190817094408_Enhance1.Designer.cs b/Timeline/Migrations/20190817094408_Enhance1.Designer.cs deleted file mode 100644 index 89d159dd..00000000 --- a/Timeline/Migrations/20190817094408_Enhance1.Designer.cs +++ /dev/null @@ -1,52 +0,0 @@ -// <auto-generated />
-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("20190817094408_Enhance1")]
- partial class Enhance1
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name")
- .HasMaxLength(26);
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .ValueGeneratedOnAdd()
- .HasColumnName("version")
- .HasDefaultValue(0L);
-
- b.HasKey("Id");
-
- b.ToTable("user");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190817094408_Enhance1.cs b/Timeline/Migrations/20190817094408_Enhance1.cs deleted file mode 100644 index 0eae3ef9..00000000 --- a/Timeline/Migrations/20190817094408_Enhance1.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class Enhance1 : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AlterColumn<long>(
- name: "version",
- table: "user",
- nullable: false,
- defaultValue: 0L,
- oldClrType: typeof(long));
-
- migrationBuilder.AlterColumn<string>(
- name: "name",
- table: "user",
- maxLength: 26,
- nullable: false,
- oldClrType: typeof(string));
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AlterColumn<long>(
- name: "version",
- table: "user",
- nullable: false,
- oldClrType: typeof(long),
- oldDefaultValue: 0L);
-
- migrationBuilder.AlterColumn<string>(
- name: "name",
- table: "user",
- nullable: false,
- oldClrType: typeof(string),
- oldMaxLength: 26);
- }
- }
-}
diff --git a/Timeline/Migrations/20190817094602_RenameTableUserToUsers.Designer.cs b/Timeline/Migrations/20190817094602_RenameTableUserToUsers.Designer.cs deleted file mode 100644 index 6ad4d475..00000000 --- a/Timeline/Migrations/20190817094602_RenameTableUserToUsers.Designer.cs +++ /dev/null @@ -1,52 +0,0 @@ -// <auto-generated />
-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("20190817094602_RenameTableUserToUsers")]
- partial class RenameTableUserToUsers
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name")
- .HasMaxLength(26);
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .ValueGeneratedOnAdd()
- .HasColumnName("version")
- .HasDefaultValue(0L);
-
- b.HasKey("Id");
-
- b.ToTable("users");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190817094602_RenameTableUserToUsers.cs b/Timeline/Migrations/20190817094602_RenameTableUserToUsers.cs deleted file mode 100644 index 042096eb..00000000 --- a/Timeline/Migrations/20190817094602_RenameTableUserToUsers.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class RenameTableUserToUsers : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropPrimaryKey(
- name: "PK_user",
- table: "user");
-
- migrationBuilder.RenameTable(
- name: "user",
- newName: "users");
-
- migrationBuilder.AddPrimaryKey(
- name: "PK_users",
- table: "users",
- column: "id");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropPrimaryKey(
- name: "PK_users",
- table: "users");
-
- migrationBuilder.RenameTable(
- name: "users",
- newName: "user");
-
- migrationBuilder.AddPrimaryKey(
- name: "PK_user",
- table: "user",
- column: "id");
- }
- }
-}
diff --git a/Timeline/Migrations/20190818174505_AddUserAvatar.Designer.cs b/Timeline/Migrations/20190818174505_AddUserAvatar.Designer.cs deleted file mode 100644 index b0a105d0..00000000 --- a/Timeline/Migrations/20190818174505_AddUserAvatar.Designer.cs +++ /dev/null @@ -1,83 +0,0 @@ -// <auto-generated />
-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("20190818174505_AddUserAvatar")]
- partial class AddUserAvatar
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<long?>("AvatarId");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name")
- .HasMaxLength(26);
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .ValueGeneratedOnAdd()
- .HasColumnName("version")
- .HasDefaultValue(0L);
-
- b.HasKey("Id");
-
- b.HasIndex("AvatarId");
-
- b.ToTable("users");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<byte[]>("Data")
- .IsRequired()
- .HasColumnName("data");
-
- b.Property<string>("Type")
- .IsRequired()
- .HasColumnName("type");
-
- b.HasKey("Id");
-
- b.ToTable("user_avatars");
- });
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.HasOne("Timeline.Entities.UserAvatar", "Avatar")
- .WithMany()
- .HasForeignKey("AvatarId");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190818174505_AddUserAvatar.cs b/Timeline/Migrations/20190818174505_AddUserAvatar.cs deleted file mode 100644 index 7e0843c4..00000000 --- a/Timeline/Migrations/20190818174505_AddUserAvatar.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class AddUserAvatar : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn<long>(
- name: "AvatarId",
- table: "users",
- nullable: true);
-
- migrationBuilder.CreateTable(
- name: "user_avatars",
- columns: table => new
- {
- id = table.Column<long>(nullable: false)
- .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
- data = table.Column<byte[]>(nullable: false),
- type = table.Column<string>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_user_avatars", x => x.id);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_users_AvatarId",
- table: "users",
- column: "AvatarId");
-
- migrationBuilder.AddForeignKey(
- name: "FK_users_user_avatars_AvatarId",
- table: "users",
- column: "AvatarId",
- principalTable: "user_avatars",
- principalColumn: "id",
- onDelete: ReferentialAction.Restrict);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_users_user_avatars_AvatarId",
- table: "users");
-
- migrationBuilder.DropTable(
- name: "user_avatars");
-
- migrationBuilder.DropIndex(
- name: "IX_users_AvatarId",
- table: "users");
-
- migrationBuilder.DropColumn(
- name: "AvatarId",
- table: "users");
- }
- }
-}
diff --git a/Timeline/Migrations/20190819074906_AddAvatarLastModified.Designer.cs b/Timeline/Migrations/20190819074906_AddAvatarLastModified.Designer.cs deleted file mode 100644 index a6fe7941..00000000 --- a/Timeline/Migrations/20190819074906_AddAvatarLastModified.Designer.cs +++ /dev/null @@ -1,86 +0,0 @@ -// <auto-generated />
-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("20190819074906_AddAvatarLastModified")]
- partial class AddAvatarLastModified
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name")
- .HasMaxLength(26);
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .ValueGeneratedOnAdd()
- .HasColumnName("version")
- .HasDefaultValue(0L);
-
- b.HasKey("Id");
-
- b.ToTable("users");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<byte[]>("Data")
- .HasColumnName("data");
-
- b.Property<DateTime>("LastModified")
- .HasColumnName("last_modified");
-
- b.Property<string>("Type")
- .HasColumnName("type");
-
- b.Property<long>("UserId");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("user_avatars");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.HasOne("Timeline.Entities.User")
- .WithOne("Avatar")
- .HasForeignKey("Timeline.Entities.UserAvatar", "UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190819074906_AddAvatarLastModified.cs b/Timeline/Migrations/20190819074906_AddAvatarLastModified.cs deleted file mode 100644 index d9b5e8cf..00000000 --- a/Timeline/Migrations/20190819074906_AddAvatarLastModified.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class AddAvatarLastModified : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_users_user_avatars_AvatarId",
- table: "users");
-
- migrationBuilder.DropIndex(
- name: "IX_users_AvatarId",
- table: "users");
-
- migrationBuilder.DropColumn(
- name: "AvatarId",
- table: "users");
-
- migrationBuilder.AlterColumn<string>(
- name: "type",
- table: "user_avatars",
- nullable: true,
- oldClrType: typeof(string));
-
- migrationBuilder.AlterColumn<byte[]>(
- name: "data",
- table: "user_avatars",
- nullable: true,
- oldClrType: typeof(byte[]));
-
- migrationBuilder.AddColumn<DateTime>(
- name: "last_modified",
- table: "user_avatars",
- nullable: false,
- defaultValue: DateTime.Now);
-
- migrationBuilder.AddColumn<long>(
- name: "UserId",
- table: "user_avatars",
- nullable: false,
- defaultValue: 0L);
-
- migrationBuilder.CreateIndex(
- name: "IX_user_avatars_UserId",
- table: "user_avatars",
- column: "UserId",
- unique: true);
-
- migrationBuilder.AddForeignKey(
- name: "FK_user_avatars_users_UserId",
- table: "user_avatars",
- column: "UserId",
- principalTable: "users",
- principalColumn: "id",
- onDelete: ReferentialAction.Cascade);
-
- // Note! Remember to manually create avatar entities for all users.
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_user_avatars_users_UserId",
- table: "user_avatars");
-
- migrationBuilder.DropIndex(
- name: "IX_user_avatars_UserId",
- table: "user_avatars");
-
- migrationBuilder.DropColumn(
- name: "last_modified",
- table: "user_avatars");
-
- migrationBuilder.DropColumn(
- name: "UserId",
- table: "user_avatars");
-
- migrationBuilder.AddColumn<long>(
- name: "AvatarId",
- table: "users",
- nullable: true);
-
- migrationBuilder.AlterColumn<string>(
- name: "type",
- table: "user_avatars",
- nullable: false,
- oldClrType: typeof(string),
- oldNullable: true);
-
- migrationBuilder.AlterColumn<byte[]>(
- name: "data",
- table: "user_avatars",
- nullable: false,
- oldClrType: typeof(byte[]),
- oldNullable: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_users_AvatarId",
- table: "users",
- column: "AvatarId");
-
- migrationBuilder.AddForeignKey(
- name: "FK_users_user_avatars_AvatarId",
- table: "users",
- column: "AvatarId",
- principalTable: "user_avatars",
- principalColumn: "id",
- onDelete: ReferentialAction.Restrict);
- }
- }
-}
diff --git a/Timeline/Migrations/20190819080823_AddIndexForUserName.Designer.cs b/Timeline/Migrations/20190819080823_AddIndexForUserName.Designer.cs deleted file mode 100644 index d45a057d..00000000 --- a/Timeline/Migrations/20190819080823_AddIndexForUserName.Designer.cs +++ /dev/null @@ -1,88 +0,0 @@ -// <auto-generated />
-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("20190819080823_AddIndexForUserName")]
- partial class AddIndexForUserName
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name")
- .HasMaxLength(26);
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .ValueGeneratedOnAdd()
- .HasColumnName("version")
- .HasDefaultValue(0L);
-
- b.HasKey("Id");
-
- b.HasIndex("Name");
-
- b.ToTable("users");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<byte[]>("Data")
- .HasColumnName("data");
-
- b.Property<DateTime>("LastModified")
- .HasColumnName("last_modified");
-
- b.Property<string>("Type")
- .HasColumnName("type");
-
- b.Property<long>("UserId");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("user_avatars");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.HasOne("Timeline.Entities.User")
- .WithOne("Avatar")
- .HasForeignKey("Timeline.Entities.UserAvatar", "UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190819080823_AddIndexForUserName.cs b/Timeline/Migrations/20190819080823_AddIndexForUserName.cs deleted file mode 100644 index b910a174..00000000 --- a/Timeline/Migrations/20190819080823_AddIndexForUserName.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class AddIndexForUserName : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateIndex(
- name: "IX_users_name",
- table: "users",
- column: "name");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropIndex(
- name: "IX_users_name",
- table: "users");
- }
- }
-}
diff --git a/Timeline/Migrations/20190820155221_AddAvatarETag.Designer.cs b/Timeline/Migrations/20190820155221_AddAvatarETag.Designer.cs deleted file mode 100644 index e7c7cb2f..00000000 --- a/Timeline/Migrations/20190820155221_AddAvatarETag.Designer.cs +++ /dev/null @@ -1,92 +0,0 @@ -// <auto-generated />
-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("20190820155221_AddAvatarETag")]
- partial class AddAvatarETag
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name")
- .HasMaxLength(26);
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .ValueGeneratedOnAdd()
- .HasColumnName("version")
- .HasDefaultValue(0L);
-
- b.HasKey("Id");
-
- b.HasIndex("Name");
-
- b.ToTable("users");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<byte[]>("Data")
- .HasColumnName("data");
-
- b.Property<string>("ETag")
- .HasColumnName("etag")
- .HasMaxLength(30);
-
- b.Property<DateTime>("LastModified")
- .HasColumnName("last_modified");
-
- b.Property<string>("Type")
- .HasColumnName("type");
-
- b.Property<long>("UserId");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("user_avatars");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.HasOne("Timeline.Entities.User")
- .WithOne("Avatar")
- .HasForeignKey("Timeline.Entities.UserAvatar", "UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190820155221_AddAvatarETag.cs b/Timeline/Migrations/20190820155221_AddAvatarETag.cs deleted file mode 100644 index db352b5d..00000000 --- a/Timeline/Migrations/20190820155221_AddAvatarETag.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class AddAvatarETag : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn<string>(
- name: "etag",
- table: "user_avatars",
- maxLength: 30,
- nullable: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- name: "etag",
- table: "user_avatars");
- }
- }
-}
diff --git a/Timeline/Migrations/20190820155354_MakeUserNameIndexUnique.Designer.cs b/Timeline/Migrations/20190820155354_MakeUserNameIndexUnique.Designer.cs deleted file mode 100644 index 420cd41c..00000000 --- a/Timeline/Migrations/20190820155354_MakeUserNameIndexUnique.Designer.cs +++ /dev/null @@ -1,93 +0,0 @@ -// <auto-generated />
-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("20190820155354_MakeUserNameIndexUnique")]
- partial class MakeUserNameIndexUnique
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("Timeline.Entities.User", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("EncryptedPassword")
- .IsRequired()
- .HasColumnName("password");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasColumnName("name")
- .HasMaxLength(26);
-
- b.Property<string>("RoleString")
- .IsRequired()
- .HasColumnName("roles");
-
- b.Property<long>("Version")
- .ValueGeneratedOnAdd()
- .HasColumnName("version")
- .HasDefaultValue(0L);
-
- b.HasKey("Id");
-
- b.HasIndex("Name")
- .IsUnique();
-
- b.ToTable("users");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.Property<long>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<byte[]>("Data")
- .HasColumnName("data");
-
- b.Property<string>("ETag")
- .HasColumnName("etag")
- .HasMaxLength(30);
-
- b.Property<DateTime>("LastModified")
- .HasColumnName("last_modified");
-
- b.Property<string>("Type")
- .HasColumnName("type");
-
- b.Property<long>("UserId");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("user_avatars");
- });
-
- modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
- {
- b.HasOne("Timeline.Entities.User")
- .WithOne("Avatar")
- .HasForeignKey("Timeline.Entities.UserAvatar", "UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Timeline/Migrations/20190820155354_MakeUserNameIndexUnique.cs b/Timeline/Migrations/20190820155354_MakeUserNameIndexUnique.cs deleted file mode 100644 index 01d72450..00000000 --- a/Timeline/Migrations/20190820155354_MakeUserNameIndexUnique.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Timeline.Migrations
-{
- public partial class MakeUserNameIndexUnique : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropIndex(
- name: "IX_users_name",
- table: "users");
-
- migrationBuilder.CreateIndex(
- name: "IX_users_name",
- table: "users",
- column: "name",
- unique: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropIndex(
- name: "IX_users_name",
- table: "users");
-
- migrationBuilder.CreateIndex(
- name: "IX_users_name",
- table: "users",
- column: "name");
- }
- }
-}
diff --git a/Timeline/Migrations/20191031064541_Initialize.Designer.cs b/Timeline/Migrations/20191031064541_Initialize.Designer.cs new file mode 100644 index 00000000..60cb4095 --- /dev/null +++ b/Timeline/Migrations/20191031064541_Initialize.Designer.cs @@ -0,0 +1,137 @@ +// <auto-generated />
+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("20191031064541_Initialize")]
+ partial class Initialize
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "3.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("Timeline.Entities.User", b =>
+ {
+ b.Property<long>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnName("id")
+ .HasColumnType("bigint");
+
+ b.Property<string>("EncryptedPassword")
+ .IsRequired()
+ .HasColumnName("password")
+ .HasColumnType("longtext");
+
+ b.Property<string>("Name")
+ .IsRequired()
+ .HasColumnName("name")
+ .HasColumnType("varchar(26)")
+ .HasMaxLength(26);
+
+ b.Property<string>("RoleString")
+ .IsRequired()
+ .HasColumnName("roles")
+ .HasColumnType("longtext");
+
+ b.Property<long>("Version")
+ .ValueGeneratedOnAdd()
+ .HasColumnName("version")
+ .HasColumnType("bigint")
+ .HasDefaultValue(0L);
+
+ b.HasKey("Id");
+
+ b.HasIndex("Name")
+ .IsUnique();
+
+ b.ToTable("users");
+ });
+
+ modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
+ {
+ b.Property<long>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnName("id")
+ .HasColumnType("bigint");
+
+ b.Property<byte[]>("Data")
+ .HasColumnName("data")
+ .HasColumnType("longblob");
+
+ b.Property<string>("ETag")
+ .HasColumnName("etag")
+ .HasColumnType("varchar(30)")
+ .HasMaxLength(30);
+
+ b.Property<DateTime>("LastModified")
+ .HasColumnName("last_modified")
+ .HasColumnType("datetime(6)");
+
+ b.Property<string>("Type")
+ .HasColumnName("type")
+ .HasColumnType("longtext");
+
+ b.Property<long>("UserId")
+ .HasColumnType("bigint");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId")
+ .IsUnique();
+
+ b.ToTable("user_avatars");
+ });
+
+ modelBuilder.Entity("Timeline.Entities.UserDetail", b =>
+ {
+ b.Property<long>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnName("id")
+ .HasColumnType("bigint");
+
+ b.Property<string>("Nickname")
+ .HasColumnName("nickname")
+ .HasColumnType("varchar(26)")
+ .HasMaxLength(26);
+
+ b.Property<long>("UserId")
+ .HasColumnType("bigint");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId")
+ .IsUnique();
+
+ b.ToTable("user_details");
+ });
+
+ 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/20191031064541_Initialize.cs b/Timeline/Migrations/20191031064541_Initialize.cs new file mode 100644 index 00000000..416f7c06 --- /dev/null +++ b/Timeline/Migrations/20191031064541_Initialize.cs @@ -0,0 +1,104 @@ +using System;
+using Microsoft.EntityFrameworkCore.Metadata;
+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<long>(nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ name = table.Column<string>(maxLength: 26, nullable: false),
+ password = table.Column<string>(nullable: false),
+ roles = table.Column<string>(nullable: false),
+ version = table.Column<long>(nullable: false, defaultValue: 0L)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_users", x => x.id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "user_avatars",
+ columns: table => new
+ {
+ id = table.Column<long>(nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ data = table.Column<byte[]>(nullable: true),
+ type = table.Column<string>(nullable: true),
+ etag = table.Column<string>(maxLength: 30, nullable: true),
+ last_modified = table.Column<DateTime>(nullable: false),
+ UserId = table.Column<long>(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<long>(nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ nickname = table.Column<string>(maxLength: 26, nullable: true),
+ UserId = table.Column<long>(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.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);
+
+ 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: "user_avatars");
+
+ migrationBuilder.DropTable(
+ name: "user_details");
+
+ migrationBuilder.DropTable(
+ name: "users");
+ }
+ }
+}
diff --git a/Timeline/Migrations/DatabaseContextModelSnapshot.cs b/Timeline/Migrations/DatabaseContextModelSnapshot.cs index 1328b855..697fbbec 100644 --- a/Timeline/Migrations/DatabaseContextModelSnapshot.cs +++ b/Timeline/Migrations/DatabaseContextModelSnapshot.cs @@ -14,31 +14,36 @@ namespace Timeline.Migrations {
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
+ .HasAnnotation("ProductVersion", "3.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("Timeline.Entities.User", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
- .HasColumnName("id");
+ .HasColumnName("id")
+ .HasColumnType("bigint");
b.Property<string>("EncryptedPassword")
.IsRequired()
- .HasColumnName("password");
+ .HasColumnName("password")
+ .HasColumnType("longtext");
b.Property<string>("Name")
.IsRequired()
.HasColumnName("name")
+ .HasColumnType("varchar(26)")
.HasMaxLength(26);
b.Property<string>("RoleString")
.IsRequired()
- .HasColumnName("roles");
+ .HasColumnName("roles")
+ .HasColumnType("longtext");
b.Property<long>("Version")
.ValueGeneratedOnAdd()
.HasColumnName("version")
+ .HasColumnType("bigint")
.HasDefaultValue(0L);
b.HasKey("Id");
@@ -53,22 +58,28 @@ namespace Timeline.Migrations {
b.Property<long>("Id")
.ValueGeneratedOnAdd()
- .HasColumnName("id");
+ .HasColumnName("id")
+ .HasColumnType("bigint");
b.Property<byte[]>("Data")
- .HasColumnName("data");
+ .HasColumnName("data")
+ .HasColumnType("longblob");
b.Property<string>("ETag")
.HasColumnName("etag")
+ .HasColumnType("varchar(30)")
.HasMaxLength(30);
b.Property<DateTime>("LastModified")
- .HasColumnName("last_modified");
+ .HasColumnName("last_modified")
+ .HasColumnType("datetime(6)");
b.Property<string>("Type")
- .HasColumnName("type");
+ .HasColumnName("type")
+ .HasColumnType("longtext");
- b.Property<long>("UserId");
+ b.Property<long>("UserId")
+ .HasColumnType("bigint");
b.HasKey("Id");
@@ -78,32 +89,20 @@ namespace Timeline.Migrations b.ToTable("user_avatars");
});
- modelBuilder.Entity("Timeline.Entities.UserDetailEntity", b =>
+ modelBuilder.Entity("Timeline.Entities.UserDetail", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
- .HasColumnName("id");
-
- b.Property<string>("Description")
- .HasColumnName("description");
-
- b.Property<string>("EMail")
- .HasColumnName("email")
- .HasMaxLength(50);
+ .HasColumnName("id")
+ .HasColumnType("bigint");
b.Property<string>("Nickname")
.HasColumnName("nickname")
- .HasMaxLength(15);
-
- b.Property<string>("PhoneNumber")
- .HasColumnName("phone_number")
- .HasMaxLength(15);
-
- b.Property<string>("QQ")
- .HasColumnName("qq")
- .HasMaxLength(15);
+ .HasColumnType("varchar(26)")
+ .HasMaxLength(26);
- b.Property<long>("UserId");
+ b.Property<long>("UserId")
+ .HasColumnType("bigint");
b.HasKey("Id");
@@ -115,18 +114,20 @@ namespace Timeline.Migrations modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
{
- b.HasOne("Timeline.Entities.User")
+ b.HasOne("Timeline.Entities.User", null)
.WithOne("Avatar")
.HasForeignKey("Timeline.Entities.UserAvatar", "UserId")
- .OnDelete(DeleteBehavior.Cascade);
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
});
- modelBuilder.Entity("Timeline.Entities.UserDetailEntity", b =>
+ modelBuilder.Entity("Timeline.Entities.UserDetail", b =>
{
- b.HasOne("Timeline.Entities.User")
+ b.HasOne("Timeline.Entities.User", null)
.WithOne("Detail")
- .HasForeignKey("Timeline.Entities.UserDetailEntity", "UserId")
- .OnDelete(DeleteBehavior.Cascade);
+ .HasForeignKey("Timeline.Entities.UserDetail", "UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
});
#pragma warning restore 612, 618
}
|