zoukankan      html  css  js  c++  java
  • Orchard之Module升级

    在上一篇中,我们提到了 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 是否已更新,如果是,那就是是了。

  • 相关阅读:
    day 22 反射,双下方法
    day 21 封装,多态,类的其他属性
    day 20 类与类之间的关系,继承2
    day 19 类的名称空间,组合,派生
    day 18 类,对象
    day 17 re模块
    注意NULL
    SQL_DISTINCT
    重载赋值运算符
    随机序列问题
  • 原文地址:https://www.cnblogs.com/luminji/p/3834137.html
Copyright © 2011-2022 走看看