aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Migrations
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline/Migrations')
-rw-r--r--Timeline/Migrations/20190819074906_AddAvatarLastModified.Designer.cs86
-rw-r--r--Timeline/Migrations/20190819074906_AddAvatarLastModified.cs114
-rw-r--r--Timeline/Migrations/DatabaseContextModelSnapshot.cs23
3 files changed, 213 insertions, 10 deletions
diff --git a/Timeline/Migrations/20190819074906_AddAvatarLastModified.Designer.cs b/Timeline/Migrations/20190819074906_AddAvatarLastModified.Designer.cs
new file mode 100644
index 00000000..a6fe7941
--- /dev/null
+++ b/Timeline/Migrations/20190819074906_AddAvatarLastModified.Designer.cs
@@ -0,0 +1,86 @@
+// <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
new file mode 100644
index 00000000..d9b5e8cf
--- /dev/null
+++ b/Timeline/Migrations/20190819074906_AddAvatarLastModified.cs
@@ -0,0 +1,114 @@
+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/DatabaseContextModelSnapshot.cs b/Timeline/Migrations/DatabaseContextModelSnapshot.cs
index 152bdea4..de96dc40 100644
--- a/Timeline/Migrations/DatabaseContextModelSnapshot.cs
+++ b/Timeline/Migrations/DatabaseContextModelSnapshot.cs
@@ -23,8 +23,6 @@ namespace Timeline.Migrations
.ValueGeneratedOnAdd()
.HasColumnName("id");
- b.Property<long?>("AvatarId");
-
b.Property<string>("EncryptedPassword")
.IsRequired()
.HasColumnName("password");
@@ -45,8 +43,6 @@ namespace Timeline.Migrations
b.HasKey("Id");
- b.HasIndex("AvatarId");
-
b.ToTable("users");
});
@@ -57,23 +53,30 @@ namespace Timeline.Migrations
.HasColumnName("id");
b.Property<byte[]>("Data")
- .IsRequired()
.HasColumnName("data");
+ b.Property<DateTime>("LastModified")
+ .HasColumnName("last_modified");
+
b.Property<string>("Type")
- .IsRequired()
.HasColumnName("type");
+ b.Property<long>("UserId");
+
b.HasKey("Id");
+ b.HasIndex("UserId")
+ .IsUnique();
+
b.ToTable("user_avatars");
});
- modelBuilder.Entity("Timeline.Entities.User", b =>
+ modelBuilder.Entity("Timeline.Entities.UserAvatar", b =>
{
- b.HasOne("Timeline.Entities.UserAvatar", "Avatar")
- .WithMany()
- .HasForeignKey("AvatarId");
+ b.HasOne("Timeline.Entities.User")
+ .WithOne("Avatar")
+ .HasForeignKey("Timeline.Entities.UserAvatar", "UserId")
+ .OnDelete(DeleteBehavior.Cascade);
});
#pragma warning restore 612, 618
}