parent
332997aefe
commit
7f8dc3d2b4
@ -0,0 +1,45 @@
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Dapper;
|
||||
using FluentMigrator;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Migration(013)]
|
||||
public class update_author_sort_name_again : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
Alter.Table("AuthorMetadata").AddColumn("NameLastFirst").AsString().Nullable();
|
||||
Alter.Table("AuthorMetadata").AddColumn("SortNameLastFirst").AsString().Nullable();
|
||||
Execute.WithConnection(MigrateAuthorSortName);
|
||||
Alter.Table("AuthorMetadata").AlterColumn("NameLastFirst").AsString().NotNullable();
|
||||
Alter.Table("AuthorMetadata").AlterColumn("SortNameLastFirst").AsString().NotNullable();
|
||||
}
|
||||
|
||||
private void MigrateAuthorSortName(IDbConnection conn, IDbTransaction tran)
|
||||
{
|
||||
var rows = conn.Query<AuthorName>("SELECT AuthorMetadata.Id, AuthorMetadata.Name FROM AuthorMetadata", transaction: tran);
|
||||
|
||||
foreach (var row in rows)
|
||||
{
|
||||
row.NameLastFirst = row.Name.ToLastFirst();
|
||||
row.SortName = row.Name.ToLower();
|
||||
row.SortNameLastFirst = row.Name.ToLastFirst().ToLower();
|
||||
}
|
||||
|
||||
var sql = "UPDATE AuthorMetadata SET NameLastFirst = @NameLastFirst, SortName = @SortName, SortNameLastFirst = @SortNameLastFirst WHERE Id = @Id";
|
||||
conn.Execute(sql, rows, transaction: tran);
|
||||
}
|
||||
|
||||
private class AuthorName : ModelBase
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string NameLastFirst { get; set; }
|
||||
public string SortName { get; set; }
|
||||
public string SortNameLastFirst { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue