Orchard之Module升级

简介: 在上一篇中,我们提到了 Migrations,这一篇稍微衍生一下。 1:Migrations 是什么 Orchard 提供了模块升级的功能,即,如果我们模块发布后,需要进行升级,我们可以通过编码来实现; 2:Migrations 的形式 public class Migrations : Data...

在上一篇中,我们提到了 Migrations,这一篇稍微衍生一下。

1:Migrations 是什么

Orchard 提供了模块升级的功能,即,如果我们模块发布后,需要进行升级,我们可以通过编码来实现;

2:Migrations 的形式

public class Migrations : DataMigrationImpl
{
    public int Create()
    {
        return 1;
    }

    public int UpdateFrom1()
    {
        // 要执行的代码
        return 2;
    } 

}

注意哦,每次升级,都是不一样的方法,下次升级,就是:

public int UpdateFrom2()
{
    return 3;
}

3:返回值存储在哪里?

在 [Orchard_Framework_DataMigrationRecord] 这表,VERSION 字段就是,如果你不知道怎么更新到哪个版本了,查看它就是了。

4:关于 UPDATE 提示

官方文档中提到,每次在 Migrations 之后,如果我们退出再登录到后台,就会提示 UPDATE。关于这一点,仿佛有点小问题,实际上你也许看不到这个 UPDATE 提示,你也许会碰到跟我一样的结果:

*重启应用程序,看到 UPDATE了;

*实际上还是没有看到 UPDATE,但是 Migrations 中的 UPDATEFROM n 方法中的代码确实是被执行了的。

那么,如何确定代码是否真的被执行了呢?还是返回到第 3 步,看看数据库中的 VERSION 是否已更新,如果是,那就是是了。

Creative Commons License本文基于 Creative Commons Attribution 2.5 China Mainland License发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名 http://www.cnblogs.com/luminji(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
目录
相关文章
|
网络协议 机器人 Python
关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named 'robot'
关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named 'robot'
关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named 'robot'
|
3月前
|
JavaScript
使用 nuxi build-module 命令构建 Nuxt 模块
【8月更文挑战第29天】以下是使用 `nuxi build-module` 构建 Nuxt 模块的步骤:1. 确保已安装 Node.js 和 npm;2. 创建新目录并初始化 npm 项目;3. 安装 Nuxt 相关依赖;4. 创建模块结构,包括 `index.ts` 入口文件;5. 运行 `nuxi build-module` 构建模块;6. 在 Nuxt 项目中安装并配置该模块。确保遵循 Nuxt 最佳实践以保证稳定性和兼容性。
|
6月前
|
前端开发
平台设计-moduleID的使用
整个平台上有很多相同的功能
|
JavaScript
UniApp 解决 Error: Cannot find module ‘webpack/lib/RuleSet‘
UniApp 解决 Error: Cannot find module ‘webpack/lib/RuleSet‘
969 0
|
前端开发 JavaScript 编译器
前端模块简史 - CJS & *MD & ES Modules & SystemJS & Webpack
最近这些年前端发展速度迅猛,而前端的模块化方案也在不断的更新,这里记录整理下工作 8 年所了解的一些关于前端模块化的知识,顺便 “考下古” ,由于涉及的内容较多不是每个都很了解,只能尽量保证输出内容的准确性。
前端模块简史 - CJS & *MD & ES Modules & SystemJS & Webpack
|
前端开发 JavaScript Shell
十七、详解 ES6 Modules
对于新人朋友来说,想要自己去搞定一个ES6开发环境并不是一件容易的事情,因为构建工具的学习本身又是一个非常大的方向,我们需要花费不少的时间才能掌握它。 好在慢慢的开始有大神提供了一些非常简单易懂,学习成本非常低的解决方案来帮助大家学习。create-react-app就是这些解决方案中,个人认为最简单易懂的一种方式。
177 0
十七、详解 ES6 Modules
Libra教程之:运行自定义move modules
Libra教程之:运行自定义move modules
|
API Python Windows
成功解决Scrapy框架的问题ModuleNotFoundError: No module named 'win32api'
成功解决Scrapy框架的问题ModuleNotFoundError: No module named 'win32api'
成功解决Scrapy框架的问题ModuleNotFoundError: No module named 'win32api'
|
缓存 Kubernetes Cloud Native
五分钟学会使用 go modules(含在家办公使用技巧)
go modules 是 golang 1.11 新加的特性。如今 1.13 都已经发布了第 7 个小版本了,几乎所有大项目均已开始使用,这自然也包括 Kubernetes 生态中的众多项目。笔者在开发 OAM 相关项目的时候,却发现 modules 的各项功能看似简单,却并没有那么好用,于是便想给大家分享一下使用心得,希望大家也能在最短时间内学会 modules 的使用,避免踩坑。
五分钟学会使用 go modules(含在家办公使用技巧)