Chr*_*ill 4 sql sql-server umbraco
我为Umbraco网站继承了一个数据库,我需要提取内容,以便将其加载到另一个CMS中.
我已经恢复了SQL Server数据库,但仍然无法找到存储本质上"博客帖子"的位置.
我想要做的是:
SELECT *
FROM blogposts
Run Code Online (Sandbox Code Playgroud)
谢谢
不幸的是,它不会那么简单.umbraco几乎所有的东西都在umbracoNode表中.
然后,您拥有的所有自定义属性数据将存储在这两个表中:cmsPropertyData和cmsPropertyType.
我发现我可以通过这样的查询获得我想要的大部分内容:
SELECT TOP 1000 *
FROM cmsPropertyData pd
INNER JOIN cmsPropertyType pt
ON pt.id = pd.propertytypeid
INNER JOIN umbracoNode n
ON n.id = pd.contentNodeId
WHERE n.id = 1853
Run Code Online (Sandbox Code Playgroud)
但是,您正在获取有关特定文档类型的信息,因此您可能看起来更像这样:
SELECT TOP 1000 *
FROM cmsPropertyData pd
INNER JOIN cmsPropertyType pt
ON pt.id = pd.propertytypeid
INNER JOIN cmsContent c
ON c.nodeId = pd.contentNodeId
INNER JOIN cmsContentType ct
ON ct.nodeId = c.contentType
WHERE ct.alias = 'BlogPost'
Run Code Online (Sandbox Code Playgroud)
然后,您可能会为每个博客帖子节点的多个版本获取数据,因此您需要与cmsContentVersion表进行更多连接以获取最新数据.
您可能会考虑尝试回避一些数据库查询,并尝试在已存在的磁盘上使用xml缓存.您可以在以下位置找到所有已发布内容的xml表示App_Data\umbraco.config.您应该能够将其修剪为博客帖子的xml表示.
我也在阅读这篇stackoverflow文章,您可以按文档类型导出为Package.您可以转到Developer->Packages->Created packages并右键单击以创建.然后在Package Contents选项卡中,只需检查Blog Post文档类型.不确定这对你有用,因为我自己没有尝试过.看起来很有希望.
| 归档时间: |
|
| 查看次数: |
9955 次 |
| 最近记录: |