问题详情
73 | 清风大侠
系统版本升级示例

系统版本升级示例如下:

  • 在后端AppServer.csUseApplication中添加升级方法
static class AppServer
{
    internal static void UseApplication(this WebApplication app)
    {
        app.UseKnown();
        _ = AppMigrate.UpdateVersionAsync(); // 更新版本
    }
}
  • 在后端项目中添加AppMigrate.cs类文件,示例如下:
class AppMigrate
{
    private const string VersionKey = "SysVersion"; // 版本配置键
    private const string VersionNo = "20251006";    // 版本号,下次升级版本,需要更改版本号

    public static async Task UpdateVersionAsync()
    {
        var database = Database.Create();
        var versionNo = await database.GetConfigAsync(VersionKey);
        if (versionNo == VersionNo) // 判断是否已更新
            return;

        // 更新20251006版本内容
        await database.QueryActionAsync(async db =>
        {
            var isAddField = await db.AddTableFieldAsync<XXTable>(c => c.XXField); // 添加表字段
            if (isAddField)
            {
                // 更新表数据
                await db.ExecuteAsync($"update XXTable set XXField='XX' where Status<>'TT'");
            }
            await db.CreateTableAsync<TableXX>(); // 添加新表TableXX
            await db.SaveConfigAsync(VersionKey, VersionNo); // 保存新版本
        });
    }
}
回复列表

暂无数据

上午好!