From fdca6a03fe4733c739a724a902fa9fe0b0b55edc Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 19 Aug 2019 16:03:47 +0800 Subject: Add migration. --- .../20190819074906_AddAvatarLastModified.cs | 114 +++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 Timeline/Migrations/20190819074906_AddAvatarLastModified.cs (limited to 'Timeline/Migrations/20190819074906_AddAvatarLastModified.cs') 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( + name: "type", + table: "user_avatars", + nullable: true, + oldClrType: typeof(string)); + + migrationBuilder.AlterColumn( + name: "data", + table: "user_avatars", + nullable: true, + oldClrType: typeof(byte[])); + + migrationBuilder.AddColumn( + name: "last_modified", + table: "user_avatars", + nullable: false, + defaultValue: DateTime.Now); + + migrationBuilder.AddColumn( + 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( + name: "AvatarId", + table: "users", + nullable: true); + + migrationBuilder.AlterColumn( + name: "type", + table: "user_avatars", + nullable: false, + oldClrType: typeof(string), + oldNullable: true); + + migrationBuilder.AlterColumn( + 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); + } + } +} -- cgit v1.2.3