using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace API.Data.Migrations { public partial class MetadataFoundation : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropColumn( name: "Summary", table: "Series"); migrationBuilder.AddColumn( name: "Summary", table: "SeriesMetadata", type: "TEXT", nullable: true); migrationBuilder.CreateTable( name: "ChapterMetadata", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Title = table.Column(type: "TEXT", nullable: true), Year = table.Column(type: "TEXT", nullable: true), StoryArc = table.Column(type: "TEXT", nullable: true), ChapterId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_ChapterMetadata", x => x.Id); table.ForeignKey( name: "FK_ChapterMetadata_Chapter_ChapterId", column: x => x.ChapterId, principalTable: "Chapter", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Genre", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: true), NormalizedName = table.Column(type: "TEXT", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Genre", x => x.Id); }); migrationBuilder.CreateTable( name: "Person", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: true), NormalizedName = table.Column(type: "TEXT", nullable: true), Role = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Person", x => x.Id); }); migrationBuilder.CreateTable( name: "GenreSeriesMetadata", columns: table => new { GenresId = table.Column(type: "INTEGER", nullable: false), SeriesMetadatasId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_GenreSeriesMetadata", x => new { x.GenresId, x.SeriesMetadatasId }); table.ForeignKey( name: "FK_GenreSeriesMetadata_Genre_GenresId", column: x => x.GenresId, principalTable: "Genre", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_GenreSeriesMetadata_SeriesMetadata_SeriesMetadatasId", column: x => x.SeriesMetadatasId, principalTable: "SeriesMetadata", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "ChapterMetadataPerson", columns: table => new { ChapterMetadatasId = table.Column(type: "INTEGER", nullable: false), PeopleId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_ChapterMetadataPerson", x => new { x.ChapterMetadatasId, x.PeopleId }); table.ForeignKey( name: "FK_ChapterMetadataPerson_ChapterMetadata_ChapterMetadatasId", column: x => x.ChapterMetadatasId, principalTable: "ChapterMetadata", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_ChapterMetadataPerson_Person_PeopleId", column: x => x.PeopleId, principalTable: "Person", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "PersonSeriesMetadata", columns: table => new { PeopleId = table.Column(type: "INTEGER", nullable: false), SeriesMetadatasId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_PersonSeriesMetadata", x => new { x.PeopleId, x.SeriesMetadatasId }); table.ForeignKey( name: "FK_PersonSeriesMetadata_Person_PeopleId", column: x => x.PeopleId, principalTable: "Person", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_PersonSeriesMetadata_SeriesMetadata_SeriesMetadatasId", column: x => x.SeriesMetadatasId, principalTable: "SeriesMetadata", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_ChapterMetadata_ChapterId", table: "ChapterMetadata", column: "ChapterId", unique: true); migrationBuilder.CreateIndex( name: "IX_ChapterMetadataPerson_PeopleId", table: "ChapterMetadataPerson", column: "PeopleId"); migrationBuilder.CreateIndex( name: "IX_Genre_NormalizedName", table: "Genre", column: "NormalizedName", unique: true); migrationBuilder.CreateIndex( name: "IX_GenreSeriesMetadata_SeriesMetadatasId", table: "GenreSeriesMetadata", column: "SeriesMetadatasId"); migrationBuilder.CreateIndex( name: "IX_PersonSeriesMetadata_SeriesMetadatasId", table: "PersonSeriesMetadata", column: "SeriesMetadatasId"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "ChapterMetadataPerson"); migrationBuilder.DropTable( name: "GenreSeriesMetadata"); migrationBuilder.DropTable( name: "PersonSeriesMetadata"); migrationBuilder.DropTable( name: "ChapterMetadata"); migrationBuilder.DropTable( name: "Genre"); migrationBuilder.DropTable( name: "Person"); migrationBuilder.DropColumn( name: "Summary", table: "SeriesMetadata"); migrationBuilder.AddColumn( name: "Summary", table: "Series", type: "TEXT", nullable: true); } } }