Stream custom live channels using your own media
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

227 lines
8.0 KiB

using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ErsatzTV.Infrastructure.MySql.Migrations
{
/// <inheritdoc />
public partial class Fix_DuplicateNames : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql(
"""
UPDATE Block a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM Block
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE BlockGroup a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM BlockGroup
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE ChannelWatermark a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM ChannelWatermark
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE Collection a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM Collection
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE Deco a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM Deco
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE DecoGroup a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM DecoGroup
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE DecoTemplate a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM DecoTemplate
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE DecoTemplateGroup a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM DecoTemplateGroup
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE FillerPreset a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM FillerPreset
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE MultiCollection a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM MultiCollection
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE Playlist a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM Playlist
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE ProgramSchedule a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM ProgramSchedule
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE RerunCollection a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM RerunCollection
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE SmartCollection a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM SmartCollection
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE Template a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM Template
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
migrationBuilder.Sql(
"""
UPDATE TemplateGroup a
JOIN (
SELECT
Id,
ROW_NUMBER() OVER (PARTITION BY LOWER(Name) ORDER BY Id) as RowNum
FROM TemplateGroup
) n ON a.Id = n.Id
SET a.Name = CONCAT(a.Name, ' (', n.RowNum - 1, ')')
WHERE n.RowNum > 1;
""");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}