代码之家  ›  专栏  ›  技术社区  ›  Fredrik Widerberg

升级到Orchard 1.10.2时出现“别名刷新期间出现异常”

  •  1
  • Fredrik Widerberg  · 技术社区  · 6 年前

    从Orchard升级到Im。

    我在我的日志中得到以下例外

    2018-12-07 23:55:27366[29] 别名刷新期间出现异常[ http://localhost:30321/] NHibernate.Exceptions.genericdoException:无法执行查询[ 选择aliasrecor0_0.Id作为Id19,aliasrecor0_u.Path选择为Path19\, Source19,别名recor0,IsManaged as IsManaged19, aliasrecor0_116;.Action_id as Action6_19_来自Orchard_Alias_AliasRecord 名称:p1-值:0[SQL:选择aliasrecor0_0.Id为Id19\, aliasrecor0\u0路径为Path19,aliasrecor0\uU.routeValue为 RouteVal3Β19ˉ,aliasrecor0ˉSource as Source19, aliasrecor0\u.IsManaged as IsManaged19\,aliasrecor0_0.Action_id为 来自Orchard的Action6_19_Alias_AliasRecord aliasrecor0在哪里 别名录制。Id>@p0按别名排序recor0\u.Id asc]--> 无法准备语句。 ... ... 在Orchard.Alias.Implementation.Updater.AliasHolderUpdater.Refresh()

    好像迁移没有运行,因为我已经检查了 Orchard_Framework_DataMigrationRecord -表和 Orchard.Alias.Migrations 处于版本 1

    IsManaged 应添加到 UpdateFrom1 在迁移.cs对于乌节。别名模块

    public int UpdateFrom1() {
        SchemaBuilder.AlterTable("AliasRecord",
                table => table
                    .AddColumn<bool>("IsManaged", column => column.WithDefault(false))
            );
        return 2;
    }
    

    罪魁祸首似乎就是这个DefaultOrchardShell.cs

    allRoutes.AddRange(_routeProviders.SelectMany(provider => provider.GetRoutes()));
    

    在这个异常之前,迁移似乎永远没有机会运行。

    我该怎么办? 我可以手动添加IsManaged,希望这是唯一的问题,但这似乎有点老套。

    0 回复  |  直到 6 年前