切换数据存储方式包括以下几种:

  • 将文本内容存储在SqlServer、MySQL、MongoDB等数据库中
  • 将站点配置信息存储在数据库中
  • 将后台用户信息存储在数据库中
  • 将会员信息存储在数据库中
  • 将图片、视频等媒体资源存储在网站目录以外的地方

  • 切换内容数据库

Kooboo CMS默认文本数据使用XML文件存储的方式,媒体资源使用文件夹存储的方式,在多数据情况下,我们建议开发人员在开发时使用默认的存储方式,等到部署时再整站点导入到生产环境。

  • 切换文本内容(TextContent)的存储方式

Kooboo CMS默认将文本内容以XML的形式存储,这里以存储到SqlServer为例简要描述步骤:

  1. 导出已经创建好的站点。
  2. 从https://github.com/Tsingbo-Kooboo/KoobooMvc5/releases/latest下载“Content_Providers.zip”并解压,找到里面的SQLServer子目录。
  3. 将SQLServer目录中的所有文件(Kooboo.CMS.Content.Persistence.SQLServer.dll与SqlServer.config)拷贝到Kooboo CMS的Bin目录中。
  4. 修改相应的连接串配置文件(SqlServer.config)。
  5. 重新创建或导入站点。

其它几种数据存储(站点配置信息、后台用户信息、会员信息)的切换方式都类似,就不一一详谈。

  • 切换媒体内容(MediaContent)的存储方式

Kooboo CMS默认将媒体资源存储在站点内容目录下(位于/Cms_Data/Contents/{RepositoryName}/Media下),同时Kooboo CMS也支持将媒体资源存储在Azure blob storage或者自建的文件系统中。存储在Azure blob storage的切换方式与文本内容的切换方式类似,就不重复描述。

以下简要说说自建文件系统的搭建方法:

  1. 从这里下载“FileServer_Web.zip”并解压。
  2. 在IIS中新建一个站点(以下称之为“资源站”)并指向上一步解压的目录。
  3. 修改资源站中web.config里面appSettings中的几个值:
    AccountName:账号名,可以设置自己喜欢的用户名,该用户名与CMS中的用户名没有关系。AccountKey:密码,可以设置自己喜欢的密码。BaseUri:域名地址,媒体资源的url会与此有关,请确保该地址的准确性,也可放空。
  1. 从“Content_Providers.zip”解压的目录里面找到FileServerProvider子目录,并把里面的所有文件拷贝到Kooboo CMS的Bin目录中。
  2. 修改配置文件(FileServerProviderSettings.config)中的几个值:
    AccountName:账号名,需要与“资源站”的web.config中的值一样。AccountKey:密码,需要与“资源站”的web.config中的值一样。Endpoint:域名地址,填写“资源站”所在的URL地址。
  • 切换数据库常见的问题

  1. 数据丢失
    切换为无结构的数据库(MongoDB、CouchBase)后,如果站点没有重新导入,站点运行不会出错,但是内容数据将会丢失。

  2. 提示Invalid object name
    切换为有结构数据库(SQLServer,SQLCe,MySQL)后,如果站点没有重新导入,在运行时会出现找不到数据表的错误。因为有结构数据库,需要重新导入站点来重建数据表和导入数据。

转载于:https://www.cnblogs.com/hahqb/p/switch-repositories.html

Kooboo CMS技术文档之三:切换数据存储方式相关推荐

  1. Kooboo CMS技术文档之一:Kooboo CMS技术背景

    语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...

  2. Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分

    Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...

  3. Kooboo CMS技术文档之二:Kooboo CMS的安装步骤

    在IIS上安装Kooboo CMS Kooboo CMS安装之后 安装的常见问题 1. 在IIS上安装Kooboo CMS Kooboo CMS部署到正式环境相当简单,安装过程是一个普通MVC站点在I ...

  4. Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档

    Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档 一.概述 二.连接器的工作原理 1.安全 2.快照 3.Ad hoc snapshots ...

  5. Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档

    Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档 一.Debezium概述 二.SQL Server 连接器的工作原理 1.Snapshot ...

  6. 如何写出优秀的技术文档?

    大家好,我是小枣君. 鲜枣课堂自从2017年5月开始正式创立,迄今已有3年多的时间.这一期间,我们的内容一直都坚持以技术类科普文章为主,输出了大约400多篇原创.其中绝大部分,都是我写的. 我的想法比 ...

  7. 如何撰写出优秀的技术文档

    技术文档分为两类,一类指开发中要用到的研发文档,一类是给客户看的客户文档,技术文档不仅仅适用于SaaS开发,他在各个领域都很常见,能够帮助记录团队/公司内部的一些资料,便于员工进行查询,通过正确的方法 ...

  8. Win-Virtualbox技术文档

    Win-Virtualbox 技术文档.md tags: 虚拟机 Virtualbox 2019 年 11 月 简介说明 VirtualBox 号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性 ...

  9. Guns 技术文档 v5.1

    @stylefeng 2018-10-17 10:22 字数 27433 阅读 4795 Guns 技术文档 v5.1 stylefeng技术文档 Guns 技术文档 v5.1 1. 序言 1.1 文 ...

最新文章

  1. excel表格出问题了
  2. NBT:宏基因组读云建库+雅典娜算法组装获得微生物高质量基因组
  3. 机器学习笔记: attention
  4. 【Flink】flink ClickHouseSink--数据写入ClickHouse
  5. 【Android Developers Training】 20. 创建一个Fragment
  6. 百度悄然发布Deep Vioce 3
  7. linux msgsend 头文件,Unix/Linux进程间通信
  8. VC2010 编译 Media Player Classic - BE (mpc-be)
  9. [转载] Python 中reduce()与lambda函数详解
  10. WEB UI基础八:链接跳转到标准的工单界面
  11. 深入浅出数据分析(一)——MySQL+EXCEL+R统计问卷调查
  12. VS2010/MFC编程入门系列教程
  13. 小程序人脸识别 图片转换成base64 上传给后台
  14. 酒店客房管理系统总结
  15. VFP6.0运行exe文件后显示:程序错误 “不能存取文件”
  16. deepfake ai智能换脸_AI换脸之后,智能去除马赛克视频工具被疯传,测试结果令人意外...
  17. 大华DSS视频综合应用平台webservice接口使用手册-php测试用例
  18. 网盘上传工具Boxifier怎么用?
  19. 开车,开车,打疫苗以为能收获爱情,结果收到了警方提示,我哭了
  20. C# 委托(同步调用、异步调用、异步回调)

热门文章

  1. MySQL总结(四)——MySQL中sql语句的执行过程
  2. 微信小程序使用 Vant Weapp
  3. idea学习系列三之版本管理工具
  4. 港股餐饮巨头年中业绩秀:海底捞、九毛九还能再造“爆款”?
  5. springboot 自动生成quartz表
  6. IDEA mvnw spring-boot:run运行失败 mvnw : 无法将“mvnw”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  7. 为人处世须知~(认真看,保存下来喔)
  8. 2021年全球嵌入式衣柜行业调研及趋势分析报告
  9. 【django】django中使用jinja2模板
  10. 看图就懂:为什么L1正则化比L2正则化更容易得到稀疏解?为什么L2正则化可以用于防止过拟合?