Kooboo CMS技术文档之三:切换数据存储方式
切换数据存储方式包括以下几种:
- 将文本内容存储在SqlServer、MySQL、MongoDB等数据库中
- 将站点配置信息存储在数据库中
- 将后台用户信息存储在数据库中
- 将会员信息存储在数据库中
将图片、视频等媒体资源存储在网站目录以外的地方
切换内容数据库
Kooboo CMS默认文本数据使用XML文件存储的方式,媒体资源使用文件夹存储的方式,在多数据情况下,我们建议开发人员在开发时使用默认的存储方式,等到部署时再整站点导入到生产环境。
切换文本内容(TextContent)的存储方式
Kooboo CMS默认将文本内容以XML的形式存储,这里以存储到SqlServer为例简要描述步骤:
- 导出已经创建好的站点。
- 从https://github.com/Tsingbo-Kooboo/KoobooMvc5/releases/latest下载“Content_Providers.zip”并解压,找到里面的SQLServer子目录。
- 将SQLServer目录中的所有文件(Kooboo.CMS.Content.Persistence.SQLServer.dll与SqlServer.config)拷贝到Kooboo CMS的Bin目录中。
- 修改相应的连接串配置文件(SqlServer.config)。
- 重新创建或导入站点。
其它几种数据存储(站点配置信息、后台用户信息、会员信息)的切换方式都类似,就不一一详谈。
切换媒体内容(MediaContent)的存储方式
Kooboo CMS默认将媒体资源存储在站点内容目录下(位于/Cms_Data/Contents/{RepositoryName}/Media下),同时Kooboo CMS也支持将媒体资源存储在Azure blob storage或者自建的文件系统中。存储在Azure blob storage的切换方式与文本内容的切换方式类似,就不重复描述。
以下简要说说自建文件系统的搭建方法:
- 从这里下载“FileServer_Web.zip”并解压。
- 在IIS中新建一个站点(以下称之为“资源站”)并指向上一步解压的目录。
- 修改资源站中web.config里面appSettings中的几个值:
AccountName:账号名,可以设置自己喜欢的用户名,该用户名与CMS中的用户名没有关系。AccountKey:密码,可以设置自己喜欢的密码。BaseUri:域名地址,媒体资源的url会与此有关,请确保该地址的准确性,也可放空。
- 从“Content_Providers.zip”解压的目录里面找到FileServerProvider子目录,并把里面的所有文件拷贝到Kooboo CMS的Bin目录中。
- 修改配置文件(FileServerProviderSettings.config)中的几个值:
AccountName:账号名,需要与“资源站”的web.config中的值一样。AccountKey:密码,需要与“资源站”的web.config中的值一样。Endpoint:域名地址,填写“资源站”所在的URL地址。
切换数据库常见的问题
数据丢失
切换为无结构的数据库(MongoDB、CouchBase)后,如果站点没有重新导入,站点运行不会出错,但是内容数据将会丢失。提示Invalid object name
切换为有结构数据库(SQLServer,SQLCe,MySQL)后,如果站点没有重新导入,在运行时会出现找不到数据表的错误。因为有结构数据库,需要重新导入站点来重建数据表和导入数据。
转载于:https://www.cnblogs.com/hahqb/p/switch-repositories.html
Kooboo CMS技术文档之三:切换数据存储方式相关推荐
- Kooboo CMS技术文档之一:Kooboo CMS技术背景
语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...
- Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分
Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...
- Kooboo CMS技术文档之二:Kooboo CMS的安装步骤
在IIS上安装Kooboo CMS Kooboo CMS安装之后 安装的常见问题 1. 在IIS上安装Kooboo CMS Kooboo CMS部署到正式环境相当简单,安装过程是一个普通MVC站点在I ...
- Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档
Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档 一.概述 二.连接器的工作原理 1.安全 2.快照 3.Ad hoc snapshots ...
- Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档
Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档 一.Debezium概述 二.SQL Server 连接器的工作原理 1.Snapshot ...
- 如何写出优秀的技术文档?
大家好,我是小枣君. 鲜枣课堂自从2017年5月开始正式创立,迄今已有3年多的时间.这一期间,我们的内容一直都坚持以技术类科普文章为主,输出了大约400多篇原创.其中绝大部分,都是我写的. 我的想法比 ...
- 如何撰写出优秀的技术文档
技术文档分为两类,一类指开发中要用到的研发文档,一类是给客户看的客户文档,技术文档不仅仅适用于SaaS开发,他在各个领域都很常见,能够帮助记录团队/公司内部的一些资料,便于员工进行查询,通过正确的方法 ...
- Win-Virtualbox技术文档
Win-Virtualbox 技术文档.md tags: 虚拟机 Virtualbox 2019 年 11 月 简介说明 VirtualBox 号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性 ...
- Guns 技术文档 v5.1
@stylefeng 2018-10-17 10:22 字数 27433 阅读 4795 Guns 技术文档 v5.1 stylefeng技术文档 Guns 技术文档 v5.1 1. 序言 1.1 文 ...
最新文章
- excel表格出问题了
- NBT:宏基因组读云建库+雅典娜算法组装获得微生物高质量基因组
- 机器学习笔记: attention
- 【Flink】flink ClickHouseSink--数据写入ClickHouse
- 【Android Developers Training】 20. 创建一个Fragment
- 百度悄然发布Deep Vioce 3
- linux msgsend 头文件,Unix/Linux进程间通信
- VC2010 编译 Media Player Classic - BE (mpc-be)
- [转载] Python 中reduce()与lambda函数详解
- WEB UI基础八:链接跳转到标准的工单界面
- 深入浅出数据分析(一)——MySQL+EXCEL+R统计问卷调查
- VS2010/MFC编程入门系列教程
- 小程序人脸识别 图片转换成base64 上传给后台
- 酒店客房管理系统总结
- VFP6.0运行exe文件后显示:程序错误 “不能存取文件”
- deepfake ai智能换脸_AI换脸之后,智能去除马赛克视频工具被疯传,测试结果令人意外...
- 大华DSS视频综合应用平台webservice接口使用手册-php测试用例
- 网盘上传工具Boxifier怎么用?
- 开车,开车,打疫苗以为能收获爱情,结果收到了警方提示,我哭了
- C# 委托(同步调用、异步调用、异步回调)
热门文章
- MySQL总结(四)——MySQL中sql语句的执行过程
- 微信小程序使用 Vant Weapp
- idea学习系列三之版本管理工具
- 港股餐饮巨头年中业绩秀:海底捞、九毛九还能再造“爆款”?
- springboot 自动生成quartz表
- IDEA mvnw spring-boot:run运行失败 mvnw : 无法将“mvnw”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
- 为人处世须知~(认真看,保存下来喔)
- 2021年全球嵌入式衣柜行业调研及趋势分析报告
- 【django】django中使用jinja2模板
- 看图就懂:为什么L1正则化比L2正则化更容易得到稀疏解?为什么L2正则化可以用于防止过拟合?