• (4) Orchard 开发之 Page 的信息存在哪?


    当你在 Orchard 中新建一个页面时,页面上的 Title、Body、Field 等信息都存放在哪里呢?

    下面我们简单分析一下 Orchard 中几个常用表的用途。

    在 Orchard 中 Content Item 和 Page 是同一个意思,都是指一个页面,所以当我说 Content Item 或 Page 时都指一个具体的页面。

    1. Common_BodyPartRecord
    存放 Body 里面的信息,  在只 Save 不发布的时候,只会更新当前的记录, 而修改后每发布一次都会在表中增加一条记录。

    字段描述:
    Id: 自增长字段
    ContentItemRecord_id : ContentItem 的 Id, 对应表 Orchard_Framework_ContentItemRecord 中的 Id
    Text : Body 中的内容

    2. Title_TitlePartRecord
    存放 Title ,在只 Save 不发布的时候,只会更新当前的记录, 而修改后每发布一次都会在表中增加一条记录。

    字段描述:
    Id : 自增长字段
    ContentItemRecord_id : 外键 对应表 Orchard_Framework_ContentItemRecord 的 Id
    Title : Title 的名字

    3. Orchard_Framework_ContentItemRecord

    第一次创建一个 Page 时候会在该表中添加一条记录。

    字段描述:
    Id: ContentItem 的 Id
    Data : 表示一个 ContentItem 是否已发布,只保存不发布时 Data 为 NULL, 发布后该字段变成 <Data /> 标志该页面已经发布,

            只对应第一次创建一个 Page 的情况。
    ContentType_id : 外键,对应 ContentType 的 Id, 对于表 Orchard_Framework_ContentTypeRecord 中的 Id。

    4. Orchard_Framework_ContentTypeRecord

    显而易见系统中现有的 ContentType 。

    字段描述:
    Id : ContentType 的 Id
    Name : ContentType 的名字

    5. Common_CommonPartRecord
    第一次发布一个 Page 时会在该表中增加一条记录,只会记录这一次。

    字段描述:
    Id : 新建 Content Item 的 Id
    OwnerId : 所有者
    CreateUtc : 创建时间 Utc Time
    PublishedUtc :
    ModifiedUtc :
    Container_id : 外键

    6. Common_CommonPartVersionRecord
    一个 Page 的版本控制信息,每 Save(无论发布还是不发布) 一次都会在该表中增加一条记录。

    字段描述:
    Id : 新建 Content Item 的 Id
    ContentItemRecord_id : 外键, 对应相应的 Page
    CreateUtc : 创建时间 Utc Time
    PublishedUtc : 发布时间,如果只是 Save 而没有发布则该字段为 NULL
    ModifiedUtc :

    7. Orchard_Framework_ContentItemVersionRecord
    Page 的版本控制信息, 每 Publish 一次都会在该表添加一条新的记录。
    这个版本控制和 Common_CommonPartVersionRecord 版本控制的差别在于
    Common_CommonPartVersionRecord 记录创建、修改及发布的时间
    Orchard_Framework_ContentItemVersionRecord 记录发布次数和页面数据等。

    字段描述:

    Id : 自增长字段
    Number :Publish 的次数,你对一个页面修改后又 Publish 了几次
    Published : 这个版本的记录是否已发布 , 1 表示已发布 ,0 表示未发布
    Latest : 是否是最新的, 1 表示最新, 0 表示不是最新
    Data :一些 Field 和 Module 中的数据
    ContentItemRecord_id : 外键, 对应相应的 Page

    8. Orchard_Framework_DataMigrationRecord
    数据库的版本控制,如果系统检测到某一个 Part 的 Version 和 代码中的 Version 不一致,
    就会自动执行数据库更新的代码,并更新这个表中的 Version 字段。

    有关 Field 和 Settings 的存储请参考我的另一篇随笔: http://www.cnblogs.com/lesliefang/archive/2012/11/13/2768827.html  加起来大概介绍了十几个表。

    OK 其它的一些表就不一一列举了,大家在使用中慢慢熟悉就好了, Orchard 数据库表还是比较简单的,表的命名都见名知意,很容易找到你想要的数据。

    大体了解一下表的结构对了解 Orchard 的架构和 Debug 还是有些帮助的。

  • 相关阅读:
    JAVA中的继承
    各种浏览器设置背景颜色线性渐变的方式
    JavaScript原型链
    JavaScript运算符
    QQ聊天:终结编程语言和编程职业
    virutal dom patch
    关于编辑器和语言的一些启示
    node-webkit 资源
    我的程序,你的生活
    过早优化是万恶之源
  • 原文地址:https://www.cnblogs.com/lesliefang/p/2769045.html
Copyright © 2020-2023  润新知