mirror of https://github.com/ErsatzTV/ErsatzTV.git
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.
33 lines
835 B
33 lines
835 B
using Microsoft.EntityFrameworkCore.Migrations; |
|
|
|
#nullable disable |
|
|
|
namespace ErsatzTV.Infrastructure.MySql.Migrations |
|
{ |
|
/// <inheritdoc /> |
|
public partial class Fix_DuplicateSmartCollectionName : Migration |
|
{ |
|
/// <inheritdoc /> |
|
protected override void Up(MigrationBuilder migrationBuilder) |
|
{ |
|
migrationBuilder.Sql( |
|
@" |
|
WITH Numbered AS ( |
|
SELECT |
|
Id, |
|
ROW_NUMBER() OVER (PARTITION BY Name ORDER BY Id) as RowNum |
|
FROM SmartCollection |
|
) |
|
UPDATE SmartCollection sc |
|
JOIN Numbered n ON sc.Id = n.Id |
|
SET sc.Name = CONCAT(sc.Name, ' (', n.RowNum - 1, ')') |
|
WHERE n.RowNum > 1; |
|
"); |
|
} |
|
|
|
/// <inheritdoc /> |
|
protected override void Down(MigrationBuilder migrationBuilder) |
|
{ |
|
} |
|
} |
|
}
|
|
|