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); 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 // Drop the index is needed because the Path is already associated with IX_Folder
folderEntityBuilder.DropForeignKey("FK_Folder_Site");
folderEntityBuilder.DropIndex("IX_Folder"); folderEntityBuilder.DropIndex("IX_Folder");
folderEntityBuilder.AlterStringColumn("Path", 1000); folderEntityBuilder.AlterStringColumn("Path", 512);
folderEntityBuilder.AddIndex("IX_Folder", new[] { "SiteId", "Path" }, true); folderEntityBuilder.AddIndex("IX_Folder", new[] { "SiteId", "Path" }, true);
folderEntityBuilder.AddForeignKey("FK_Folder_Site");
} }
protected override void Down(MigrationBuilder migrationBuilder) protected override void Down(MigrationBuilder migrationBuilder)

View File

@ -183,6 +183,19 @@ namespace Oqtane.Migrations.EntityBuilders
onDelete: foreignKey.OnDeleteAction); 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) public void DropForeignKey(ForeignKey<TEntityBuilder> foreignKey)
{ {
DropForeignKey(RewriteName(foreignKey.Name)); DropForeignKey(RewriteName(foreignKey.Name));

View File

@ -20,6 +20,14 @@ namespace Oqtane.Migrations
public Expression<Func<TEntityBuilder, object>> Column { get;} 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 ReferentialAction OnDeleteAction { get; }
public string PrincipalTable { get; } public string PrincipalTable { get; }