mirror of https://github.com/ErsatzTV/ErsatzTV.git
Browse Source
* add and populate new table * add watermark multiselect * remove old column * update changelog * fix testspull/2288/head
42 changed files with 37846 additions and 90 deletions
@ -0,0 +1,9 @@ |
|||||||
|
namespace ErsatzTV.Core.Domain; |
||||||
|
|
||||||
|
public class ProgramScheduleItemWatermark |
||||||
|
{ |
||||||
|
public int ProgramScheduleItemId { get; set; } |
||||||
|
public ProgramScheduleItem ProgramScheduleItem { get; set; } |
||||||
|
public int? WatermarkId { get; set; } |
||||||
|
public ChannelWatermark Watermark { get; set; } |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,51 @@ |
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||||
|
|
||||||
|
#nullable disable |
||||||
|
|
||||||
|
namespace ErsatzTV.Infrastructure.MySql.Migrations |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Add_ProgramScheduleItemWatermarks : Migration |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.CreateTable( |
||||||
|
name: "ProgramScheduleItemWatermark", |
||||||
|
columns: table => new |
||||||
|
{ |
||||||
|
ProgramScheduleItemId = table.Column<int>(type: "int", nullable: false), |
||||||
|
WatermarkId = table.Column<int>(type: "int", nullable: false) |
||||||
|
}, |
||||||
|
constraints: table => |
||||||
|
{ |
||||||
|
table.PrimaryKey("PK_ProgramScheduleItemWatermark", x => new { x.ProgramScheduleItemId, x.WatermarkId }); |
||||||
|
table.ForeignKey( |
||||||
|
name: "FK_ProgramScheduleItemWatermark_ChannelWatermark_WatermarkId", |
||||||
|
column: x => x.WatermarkId, |
||||||
|
principalTable: "ChannelWatermark", |
||||||
|
principalColumn: "Id", |
||||||
|
onDelete: ReferentialAction.Cascade); |
||||||
|
table.ForeignKey( |
||||||
|
name: "FK_ProgramScheduleItemWatermark_ProgramScheduleItem_ProgramSche~", |
||||||
|
column: x => x.ProgramScheduleItemId, |
||||||
|
principalTable: "ProgramScheduleItem", |
||||||
|
principalColumn: "Id", |
||||||
|
onDelete: ReferentialAction.Cascade); |
||||||
|
}) |
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"); |
||||||
|
|
||||||
|
migrationBuilder.CreateIndex( |
||||||
|
name: "IX_ProgramScheduleItemWatermark_WatermarkId", |
||||||
|
table: "ProgramScheduleItemWatermark", |
||||||
|
column: "WatermarkId"); |
||||||
|
} |
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.DropTable( |
||||||
|
name: "ProgramScheduleItemWatermark"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,23 @@ |
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||||
|
|
||||||
|
#nullable disable |
||||||
|
|
||||||
|
namespace ErsatzTV.Infrastructure.MySql.Migrations |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Populate_ProgramScheduleItemWatermarks : Migration |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.Sql( |
||||||
|
@"INSERT INTO `ProgramScheduleItemWatermark` (`ProgramScheduleItemId`, `WatermarkId`)
|
||||||
|
SELECT `Id`, `WatermarkId` FROM `ProgramScheduleItem` WHERE `WatermarkId` IS NOT NULL");
|
||||||
|
} |
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,49 @@ |
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||||
|
|
||||||
|
#nullable disable |
||||||
|
|
||||||
|
namespace ErsatzTV.Infrastructure.MySql.Migrations |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Remove_ProgramScheduleItemWatermark : Migration |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.DropForeignKey( |
||||||
|
name: "FK_ProgramScheduleItem_ChannelWatermark_WatermarkId", |
||||||
|
table: "ProgramScheduleItem"); |
||||||
|
|
||||||
|
migrationBuilder.DropIndex( |
||||||
|
name: "IX_ProgramScheduleItem_WatermarkId", |
||||||
|
table: "ProgramScheduleItem"); |
||||||
|
|
||||||
|
migrationBuilder.DropColumn( |
||||||
|
name: "WatermarkId", |
||||||
|
table: "ProgramScheduleItem"); |
||||||
|
} |
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.AddColumn<int>( |
||||||
|
name: "WatermarkId", |
||||||
|
table: "ProgramScheduleItem", |
||||||
|
type: "int", |
||||||
|
nullable: true); |
||||||
|
|
||||||
|
migrationBuilder.CreateIndex( |
||||||
|
name: "IX_ProgramScheduleItem_WatermarkId", |
||||||
|
table: "ProgramScheduleItem", |
||||||
|
column: "WatermarkId"); |
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey( |
||||||
|
name: "FK_ProgramScheduleItem_ChannelWatermark_WatermarkId", |
||||||
|
table: "ProgramScheduleItem", |
||||||
|
column: "WatermarkId", |
||||||
|
principalTable: "ChannelWatermark", |
||||||
|
principalColumn: "Id", |
||||||
|
onDelete: ReferentialAction.SetNull); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,50 @@ |
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||||
|
|
||||||
|
#nullable disable |
||||||
|
|
||||||
|
namespace ErsatzTV.Infrastructure.Sqlite.Migrations |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Add_ProgramScheduleItemWatermarks : Migration |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.CreateTable( |
||||||
|
name: "ProgramScheduleItemWatermark", |
||||||
|
columns: table => new |
||||||
|
{ |
||||||
|
ProgramScheduleItemId = table.Column<int>(type: "INTEGER", nullable: false), |
||||||
|
WatermarkId = table.Column<int>(type: "INTEGER", nullable: false) |
||||||
|
}, |
||||||
|
constraints: table => |
||||||
|
{ |
||||||
|
table.PrimaryKey("PK_ProgramScheduleItemWatermark", x => new { x.ProgramScheduleItemId, x.WatermarkId }); |
||||||
|
table.ForeignKey( |
||||||
|
name: "FK_ProgramScheduleItemWatermark_ChannelWatermark_WatermarkId", |
||||||
|
column: x => x.WatermarkId, |
||||||
|
principalTable: "ChannelWatermark", |
||||||
|
principalColumn: "Id", |
||||||
|
onDelete: ReferentialAction.Cascade); |
||||||
|
table.ForeignKey( |
||||||
|
name: "FK_ProgramScheduleItemWatermark_ProgramScheduleItem_ProgramScheduleItemId", |
||||||
|
column: x => x.ProgramScheduleItemId, |
||||||
|
principalTable: "ProgramScheduleItem", |
||||||
|
principalColumn: "Id", |
||||||
|
onDelete: ReferentialAction.Cascade); |
||||||
|
}); |
||||||
|
|
||||||
|
migrationBuilder.CreateIndex( |
||||||
|
name: "IX_ProgramScheduleItemWatermark_WatermarkId", |
||||||
|
table: "ProgramScheduleItemWatermark", |
||||||
|
column: "WatermarkId"); |
||||||
|
} |
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.DropTable( |
||||||
|
name: "ProgramScheduleItemWatermark"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,23 @@ |
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||||
|
|
||||||
|
#nullable disable |
||||||
|
|
||||||
|
namespace ErsatzTV.Infrastructure.Sqlite.Migrations |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Populate_ProgramScheduleItemWatermarks : Migration |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.Sql( |
||||||
|
@"INSERT INTO `ProgramScheduleItemWatermark` (`ProgramScheduleItemId`, `WatermarkId`)
|
||||||
|
SELECT `Id`, `WatermarkId` FROM `ProgramScheduleItem` WHERE `WatermarkId` IS NOT NULL");
|
||||||
|
} |
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,49 @@ |
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||||
|
|
||||||
|
#nullable disable |
||||||
|
|
||||||
|
namespace ErsatzTV.Infrastructure.Sqlite.Migrations |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Remove_ProgramScheduleItemWatermark : Migration |
||||||
|
{ |
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.DropForeignKey( |
||||||
|
name: "FK_ProgramScheduleItem_ChannelWatermark_WatermarkId", |
||||||
|
table: "ProgramScheduleItem"); |
||||||
|
|
||||||
|
migrationBuilder.DropIndex( |
||||||
|
name: "IX_ProgramScheduleItem_WatermarkId", |
||||||
|
table: "ProgramScheduleItem"); |
||||||
|
|
||||||
|
migrationBuilder.DropColumn( |
||||||
|
name: "WatermarkId", |
||||||
|
table: "ProgramScheduleItem"); |
||||||
|
} |
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||||
|
{ |
||||||
|
migrationBuilder.AddColumn<int>( |
||||||
|
name: "WatermarkId", |
||||||
|
table: "ProgramScheduleItem", |
||||||
|
type: "INTEGER", |
||||||
|
nullable: true); |
||||||
|
|
||||||
|
migrationBuilder.CreateIndex( |
||||||
|
name: "IX_ProgramScheduleItem_WatermarkId", |
||||||
|
table: "ProgramScheduleItem", |
||||||
|
column: "WatermarkId"); |
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey( |
||||||
|
name: "FK_ProgramScheduleItem_ChannelWatermark_WatermarkId", |
||||||
|
table: "ProgramScheduleItem", |
||||||
|
column: "WatermarkId", |
||||||
|
principalTable: "ChannelWatermark", |
||||||
|
principalColumn: "Id", |
||||||
|
onDelete: ReferentialAction.SetNull); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue