Fix bug with MySQL Installation caused by new Migration

This commit is contained in:
Charles Nurse 2021-05-21 16:38:48 -07:00
parent 6f123c0fff
commit 342dae4aa7
3 changed files with 25 additions and 2 deletions

View File

@ -19,12 +19,14 @@ namespace Oqtane.Migrations
{
var folderEntityBuilder = new FolderEntityBuilder(migrationBuilder, ActiveDatabase);
folderEntityBuilder.AlterStringColumn("Name", 250);
folderEntityBuilder.AlterStringColumn("Name", 256);
// Drop the index is needed because the Path is already associated with IX_Folder
folderEntityBuilder.DropForeignKey("FK_Folder_Site");
folderEntityBuilder.DropIndex("IX_Folder");
folderEntityBuilder.AlterStringColumn("Path", 1000);
folderEntityBuilder.AlterStringColumn("Path", 512);
folderEntityBuilder.AddIndex("IX_Folder", new[] { "SiteId", "Path" }, true);
folderEntityBuilder.AddForeignKey("FK_Folder_Site");
}
protected override void Down(MigrationBuilder migrationBuilder)

View File

@ -183,6 +183,19 @@ namespace Oqtane.Migrations.EntityBuilders
onDelete: foreignKey.OnDeleteAction);
}
public void AddForeignKey(string name)
{
var foreignKey = ForeignKeys.Single(k => k.Name == name);
_migrationBuilder.AddForeignKey(
name: RewriteName(foreignKey.Name),
table: RewriteName(EntityTableName),
column: RewriteName(foreignKey.ColumnName),
principalTable: RewriteName(foreignKey.PrincipalTable),
principalColumn: RewriteName(foreignKey.PrincipalColumn),
onDelete: foreignKey.OnDeleteAction);
}
public void DropForeignKey(ForeignKey<TEntityBuilder> foreignKey)
{
DropForeignKey(RewriteName(foreignKey.Name));

View File

@ -20,6 +20,14 @@ namespace Oqtane.Migrations
public Expression<Func<TEntityBuilder, object>> Column { get;}
public string ColumnName
{
get
{
var body = Column.Body.ToString();
return body.Substring(body.IndexOf(".") + 1);
}
}
public ReferentialAction OnDeleteAction { get; }
public string PrincipalTable { get; }