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

Orchard之Module升级

时间: 2025-01-28 10:58:07

Orchard之Module升级的相关文章

Orchard模块开发全接触2:新建 ProductPart

一:创建 Part 1:项目引用 Orchard.Framework: 2:创建 Models 文件夹: 3:在 Models 文件夹下创建类 ProductPartRecord,如下: public class ProductPartRecord : ContentPartRecord{    public virtual decimal UnitPrice { get; set; }    public virtual string Sku { get; set; } } 注意,为 virt

从头开始编写一个Orchard网上商店模块(3) - 创建Orchard.Webshop模块项目

原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-3创建Orchard.Webshop模块项目 这是从头开始编写一个新的Orchard模块的教程的第3篇.对于本教程的概述,请参阅介绍. Orchard模块是一个真正的ASP.NET MVC的Area类库,同时遵循了ASP.NET MVC和Orchard的特定的规范.Orchard 规范提升了您的

Orchard学习 02、orchard 路由

Orchard对mvc路由重新做了包装,重写了asp.net的路由模块 一.路由模块类图 1.路由 Descriptor RouteDescriptor是对常规mvc路由的包装类,它的Route属性就是在mvc注册路由中使用的RouteBase类型.在Orchard中注册路由,应该用这种方式 newRouteDescriptor{ Route=newRoute( "Admin/Blogs/Create", newRouteValueDictionary{ {"area&quo

开发元件

创建一个元件 元件是一个可重用的逻辑单元,包含逻辑或者UI,他可以附加到内容类型上面.比如,Orchard原生提供了Route元件,使得我们可以将内容项关联到一个特定的URL,还提供了Tag元件,使得内容项具有标签功能. 在这篇文档中,我们会创建一个自定义地图的元件,通过配置经度和纬度,生成一副地图. 首先,我们先创建一个"Maps"模块(请先熟悉上一篇文章,学习如何创建模块): 我们在控制台中,输入下面的命令"codegen module Maps /IncludeInSo

Orchard入门:如何创建一个完整Module

这是一个Orchard-Modules的入门教程.在这个教程里,我们将开发两个功能页面分别用于数据录入与数据展示. 完成上述简单功能开发,我们一共需要6个步骤.分别为: 创建Module 创建Model 创建Services 创建Controller.View 创建Route 创建Admin Menu 上面6个步骤可能不太好理解.在这里,我们把他们转换从MVC中的概念让我们更好理解. Module 项目模块 Model 实体层 Controller.View Controller.View Ro

安装zlib的过程(Compression requires the (missing) zlib module)(Python2.6升级为2.7出现的问题)

觉得有必要把解决问题的过程写下来 1,因为要安装flask,所以安装pip,所以安装setuptools,所以安装zlib.(具体过程http://www.cnblogs.com/aiyr/p/7260838.html 这个链接中有安装zlib,zlib-devel,耐心找找) 2,之后通过 #rpm -qa | grep zlib查看 发现zlib已经安装成功,可是在安装setuptools的时候还是报错 这不坑爹么. 3,于是去stackoverflow(百度都百烂了都没百出来),直接关键字

python升级导致yum不可用 “ No module named yum”

最近在看python,虚拟机装的是Centos6.6,自带的python版本是2.6.6,打算升级到2.7. 我的升级过程大致如下: 下载2.7源码包https://www.python.org/downloads/source/ 卸载旧的python,rpm -e python 编译安装python2.7 整个过程没有遇到问题,但升级完后,再用yum安装软件时报如下错误 [[email protected] python]# yum There was a problem importing 

Python从2.6升级到2.7,使用pip安装module,报错:No Module named pip.log(转载)

From:http://blog.csdn.net/iefreer/article/details/8086834 python升级后,使用pip安装module,错误: 错误原因:版本升级后,之前的pip与当前的python版本不兼容. 解决方法:升级pip. 1.安装setuptools,然后执行:easy_install pip 2.执行如下命令: [email protected]:~/dir# ls /usr/local/bin | grep pip pip pip2 pip2.7 此

[linux]centos7 升级python后出现“No module named yum”错误

公司服务器重新安装系统后,手动升级python2.7.5到2.7.15,安装完python在更新系统python版本的过程中无意删除了系统自带的版本,导致后来在执行yum命令的时候出现了错误 There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum Please install a p