From 0038741bae4f0c42262db96ab81bd14c6f6a0993 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Sat, 17 Aug 2019 17:47:11 +0800 Subject: Enhance database. --- Timeline/Entities/DatabaseContext.cs | 10 ++++- .../Migrations/20190817094408_Enhance1.Designer.cs | 52 ++++++++++++++++++++++ Timeline/Migrations/20190817094408_Enhance1.cs | 41 +++++++++++++++++ ...190817094602_RenameTableUserToUsers.Designer.cs | 52 ++++++++++++++++++++++ .../20190817094602_RenameTableUserToUsers.cs | 39 ++++++++++++++++ .../Migrations/DatabaseContextModelSnapshot.cs | 13 +++--- Timeline/Timeline.csproj | 8 +++- 7 files changed, 207 insertions(+), 8 deletions(-) create mode 100644 Timeline/Migrations/20190817094408_Enhance1.Designer.cs create mode 100644 Timeline/Migrations/20190817094408_Enhance1.cs create mode 100644 Timeline/Migrations/20190817094602_RenameTableUserToUsers.Designer.cs create mode 100644 Timeline/Migrations/20190817094602_RenameTableUserToUsers.cs (limited to 'Timeline') diff --git a/Timeline/Entities/DatabaseContext.cs b/Timeline/Entities/DatabaseContext.cs index c5a84342..3629e821 100644 --- a/Timeline/Entities/DatabaseContext.cs +++ b/Timeline/Entities/DatabaseContext.cs @@ -10,13 +10,13 @@ namespace Timeline.Entities public const string User = "user"; } - [Table("user")] + [Table("users")] public class User { [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long Id { get; set; } - [Column("name"), Required] + [Column("name"), MaxLength(26), Required] public string Name { get; set; } [Column("password"), Required] @@ -37,6 +37,12 @@ namespace Timeline.Entities } + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity().Property(e => e.Version).HasDefaultValue(0); + + } + public DbSet Users { get; set; } } } diff --git a/Timeline/Migrations/20190817094408_Enhance1.Designer.cs b/Timeline/Migrations/20190817094408_Enhance1.Designer.cs new file mode 100644 index 00000000..89d159dd --- /dev/null +++ b/Timeline/Migrations/20190817094408_Enhance1.Designer.cs @@ -0,0 +1,52 @@ +// +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("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id"); + + b.Property("EncryptedPassword") + .IsRequired() + .HasColumnName("password"); + + b.Property("Name") + .IsRequired() + .HasColumnName("name") + .HasMaxLength(26); + + b.Property("RoleString") + .IsRequired() + .HasColumnName("roles"); + + b.Property("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 new file mode 100644 index 00000000..0eae3ef9 --- /dev/null +++ b/Timeline/Migrations/20190817094408_Enhance1.cs @@ -0,0 +1,41 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace Timeline.Migrations +{ + public partial class Enhance1 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "version", + table: "user", + nullable: false, + defaultValue: 0L, + oldClrType: typeof(long)); + + migrationBuilder.AlterColumn( + name: "name", + table: "user", + maxLength: 26, + nullable: false, + oldClrType: typeof(string)); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "version", + table: "user", + nullable: false, + oldClrType: typeof(long), + oldDefaultValue: 0L); + + migrationBuilder.AlterColumn( + 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 new file mode 100644 index 00000000..6ad4d475 --- /dev/null +++ b/Timeline/Migrations/20190817094602_RenameTableUserToUsers.Designer.cs @@ -0,0 +1,52 @@ +// +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("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id"); + + b.Property("EncryptedPassword") + .IsRequired() + .HasColumnName("password"); + + b.Property("Name") + .IsRequired() + .HasColumnName("name") + .HasMaxLength(26); + + b.Property("RoleString") + .IsRequired() + .HasColumnName("roles"); + + b.Property("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 new file mode 100644 index 00000000..042096eb --- /dev/null +++ b/Timeline/Migrations/20190817094602_RenameTableUserToUsers.cs @@ -0,0 +1,39 @@ +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/DatabaseContextModelSnapshot.cs b/Timeline/Migrations/DatabaseContextModelSnapshot.cs index 48afb2c8..e1de451c 100644 --- a/Timeline/Migrations/DatabaseContextModelSnapshot.cs +++ b/Timeline/Migrations/DatabaseContextModelSnapshot.cs @@ -1,4 +1,4 @@ -// +// using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -16,7 +16,7 @@ namespace Timeline.Migrations .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 64); - modelBuilder.Entity("Timeline.Models.User", b => + modelBuilder.Entity("Timeline.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -28,18 +28,21 @@ namespace Timeline.Migrations b.Property("Name") .IsRequired() - .HasColumnName("name"); + .HasColumnName("name") + .HasMaxLength(26); b.Property("RoleString") .IsRequired() .HasColumnName("roles"); b.Property("Version") - .HasColumnName("version"); + .ValueGeneratedOnAdd() + .HasColumnName("version") + .HasDefaultValue(0L); b.HasKey("Id"); - b.ToTable("user"); + b.ToTable("users"); }); #pragma warning restore 612, 618 } diff --git a/Timeline/Timeline.csproj b/Timeline/Timeline.csproj index 5f07cabc..1f70c634 100644 --- a/Timeline/Timeline.csproj +++ b/Timeline/Timeline.csproj @@ -1,10 +1,16 @@ - + netcoreapp2.2 false 1f6fb74d-4277-4bc0-aeea-b1fc5ffb0b43 crupest + + + + + + -- cgit v1.2.3