我有一个项目使用本地数据库(SDF)为umbraco托管在azure上,我想将该数据从本地数据库复制到一个新的,将托管在Azure sql上,然后我想更新连接字符串以使用该数据库,是否可能?或者我需要从头开始重做网站。
我试过寻找答案,但我似乎无法找到答案。 我已经使用webmatrix下载了该网站,但数据库没有与整个项目一起下载:/
答案 0 :(得分:1)
是,如果您使用此导出器,则可以生成数据库的脚本:
http://exportsqlce.codeplex.com/releases/view/116839
ExportSqlCe40.exe "Data Source=Umbraco.sdf;" export.sql sqlite
Initializing....
Generating the tables....
Generating the data....
Generating the indexes....
Sent script to output file(s) : export.sql in 760 ms
然后,您必须添加额外的行以在登录表
上添加索引CREATE CLUSTERED INDEX umbracoUserLogins_Index ON umbracoUserLogins (contextID);
我遇到的问题是为umbracoNode表生成的记录顺序。您必须确保首先插入带有键-1的项目,并且它不会标记我必须手动执行的标识列。
在azure sql server实例上运行此命令后,请更改连接字符串,确保将提供程序字符串更新为System.Data.SqlClient
<add name="umbracoDbDSN" providerName="System.Data.SqlClient" connectionString="[azureconnectionstring]" />
答案 1 :(得分:0)
最后,我使用webmatrix创建了一个新的umbraco项目,创建了一个带有sql数据库的新模板站点,并从旧的sdf执行了sql查询。在该数据库中的数据库,然后我将其迁移到azure,对集群密钥进行了少量修改,并且它可以工作