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 是否已更新,如果是,那就是是了。

  • 相关阅读:
    day1记一次无列名注入
    无参数RCE
    ThinkPHP 5.x远程命令执行漏洞
    phpmyadmin4.8.1文件包含漏洞
    foreach循环导致变量覆盖
    绕过空格的报错注入
    布尔盲注payload补充
    php后台验证两种方式绕过
    CentOS yum 配置阿里镜像
    CentOS通过yum安装配置Java环境
  • 原文地址:https://www.cnblogs.com/luminji/p/3834137.html
Copyright © 2011-2022 走看看