Kooboo CMS技术文档之三:切换数据存储方式
2017-01-04 20:05
288 查看
切换数据存储方式包括以下几种:
将文本内容存储在SqlServer、MySQL、MongoDB等数据库中
将站点配置信息存储在数据库中
将后台用户信息存储在数据库中
将会员信息存储在数据库中
将图片、视频等媒体资源存储在网站目录以外的地方
导出已经创建好的站点。
从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)。
重新创建或导入站点。
其它几种数据存储(站点配置信息、后台用户信息、会员信息)的切换方式都类似,就不一一详谈。
以下简要说说自建文件系统的搭建方法:
从这里下载“FileServer_Web.zip”并解压。
在IIS中新建一个站点(以下称之为“资源站”)并指向上一步解压的目录。
修改资源站中web.config里面appSettings中的几个值:
从“Content_Providers.zip”解压的目录里面找到FileServerProvider子目录,并把里面的所有文件拷贝到Kooboo CMS的Bin目录中。
修改配置文件(FileServerProviderSettings.config)中的几个值:
切换为无结构的数据库(MongoDB、CouchBase)后,如果站点没有重新导入,站点运行不会出错,但是内容数据将会丢失。
提示Invalid object name
切换为有结构数据库(SQLServer,SQLCe,MySQL)后,如果站点没有重新导入,在运行时会出现找不到数据表的错误。因为有结构数据库,需要重新导入站点来重建数据表和导入数据。
将文本内容存储在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)后,如果站点没有重新导入,在运行时会出现找不到数据表的错误。因为有结构数据库,需要重新导入站点来重建数据表和导入数据。
相关文章推荐
- Android 数据持久化技术(即数据存储方式)
- 技术分享 - Windows Phone 的数据存储方式总结
- Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分
- Kooboo CMS技术文档之五:站点配置管理
- Android实现数据存储技术 (5中存储方式) 基础中的基础!!!!
- Kooboo CMS技术文档之一:Kooboo CMS技术背景
- Android实现数据存储技术 de 五种方式
- Kooboo CMS技术文档之二:Kooboo CMS的安装步骤
- LDAP - 数据存储的一种思考方式
- 堆栈详解(数据与内存中的存储方式)
- “传奇”图象数据存储方式
- “文档被保存,但是语音识别的数据丢失,因为没有足够的空间存储这些数据。确保没有录音时关闭麦克风,并检查磁盘上的存储空间。”
- Nand Flash数据存储方式和数据读写方法!
- SQL SERVER2000教程-第一章-第四节 数据的存储方式
- 网络存储导论第七章:异步数据复制容灾方式
- MFC SDI单文档多视图的实现及自由切换(2种实现方式简析)
- Asp中使用Xml作为数据存储方式的新闻发布
- 企业数据存储的三种方式 DAS、NAS和SAN
- SharePoint 2007 ContentType 数据存储方式分析
- 数据存储指南:存储备份技术详解