diff options
Diffstat (limited to 'Migrations/20230829235942_UploadedFilesToObjects.cs')
| -rw-r--r-- | Migrations/20230829235942_UploadedFilesToObjects.cs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/Migrations/20230829235942_UploadedFilesToObjects.cs b/Migrations/20230829235942_UploadedFilesToObjects.cs new file mode 100644 index 0000000..07a402e --- /dev/null +++ b/Migrations/20230829235942_UploadedFilesToObjects.cs @@ -0,0 +1,75 @@ +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace HyperBooru.Migrations +{ + /// <inheritdoc /> + public partial class UploadedFilesToObjects : Migration + { + /// <inheritdoc /> + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn<Guid>( + name: "Guid", + table: "UploadedFiles", + type: "uuid", + nullable: false, + defaultValueSql: "gen_random_uuid()"); + + migrationBuilder.Sql( + "INSERT INTO \"Objects\" (\"Guid\") SELECT \"Guid\" FROM \"UploadedFiles\";"); + migrationBuilder.Sql( + "UPDATE \"UploadedFiles\" AS uf SET \"UploadedFileId\" = o.\"ObjectId\" FROM \"Objects\" AS o WHERE o.\"Guid\" = uf.\"Guid\";"); + + migrationBuilder.DropColumn( + name: "Guid", + table: "UploadedFiles"); + + migrationBuilder.RenameColumn( + name: "UploadedFileId", + table: "UploadedFiles", + newName: "ObjectId"); + + migrationBuilder.AlterColumn<int>( + name: "ObjectId", + table: "UploadedFiles", + type: "integer", + nullable: false, + oldClrType: typeof(int), + oldType: "integer") + .OldAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + migrationBuilder.AddForeignKey( + name: "FK_UploadedFiles_Objects_ObjectId", + table: "UploadedFiles", + column: "ObjectId", + principalTable: "Objects", + principalColumn: "ObjectId", + onDelete: ReferentialAction.Cascade); + } + + /// <inheritdoc /> + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_UploadedFiles_Objects_ObjectId", + table: "UploadedFiles"); + + migrationBuilder.RenameColumn( + name: "ObjectId", + table: "UploadedFiles", + newName: "UploadedFileId"); + + migrationBuilder.AlterColumn<int>( + name: "UploadedFileId", + table: "UploadedFiles", + type: "integer", + nullable: false, + oldClrType: typeof(int), + oldType: "integer") + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + } + } +} |
