using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Yavsc.Migrations { /// public partial class AddBlogFileAttachments : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "UploadedFiles", columns: table => new { Id = table.Column(type: "bigint", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), Path = table.Column(type: "text", nullable: true), Length = table.Column(type: "bigint", nullable: false), ContentType = table.Column(type: "text", nullable: true) }, constraints: table => { table.PrimaryKey("PK_UploadedFiles", x => x.Id); }); migrationBuilder.CreateTable( name: "BlogAttachedFiles", columns: table => new { FileId = table.Column(type: "bigint", nullable: false), PostId = table.Column(type: "bigint", nullable: false) }, constraints: table => { table.PrimaryKey("PK_BlogAttachedFiles", x => new { x.FileId, x.PostId }); table.ForeignKey( name: "FK_BlogAttachedFiles_BlogSpot_PostId", column: x => x.PostId, principalTable: "BlogSpot", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_BlogAttachedFiles_UploadedFiles_FileId", column: x => x.FileId, principalTable: "UploadedFiles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_BlogAttachedFiles_PostId", table: "BlogAttachedFiles", column: "PostId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "BlogAttachedFiles"); migrationBuilder.DropTable( name: "UploadedFiles"); } } }