我試圖從較舊的Orchard數據庫導出數據,並且在查找存儲博客文章內容的表時遇到問題。我嘗試過使用許多不同的'搜索所有列'的搜索結果來搜索所有表和列,但是沒有從帖子本身找到文本。果園:在哪個表格中存儲博客文章
如果我有一個博客文章,其中的開頭句子是: 這句話包含一個獨特的詞。
我會期望至少有一個'搜索所有列'的例子已經出現了一個表/列。但到目前爲止,沒有一個。
THX
我試圖從較舊的Orchard數據庫導出數據,並且在查找存儲博客文章內容的表時遇到問題。我嘗試過使用許多不同的'搜索所有列'的搜索結果來搜索所有表和列,但是沒有從帖子本身找到文本。果園:在哪個表格中存儲博客文章
如果我有一個博客文章,其中的開頭句子是: 這句話包含一個獨特的詞。
我會期望至少有一個'搜索所有列'的例子已經出現了一個表/列。但到目前爲止,沒有一個。
THX
ContentItemRecord
和
ContentItemVersionRecord
,其存儲元數據內容的項目,如
BlogPost
,並且由多個部分內置這些內容項
果園存儲數據,每個部分都有它的表之間的關係項目和它的部分是基於Id
(如果未牽伸)或ContentItemRecord_Id
(如牽伸)如果我們把BlogPost
型爲例,它從TitlePart
建,BodyPart
,AutoroutePart
和CommonPart
,你婉列
t選擇帖子的所有數據(id = 90),則可以在TitlePartRecord
表(ContentItemRecord_Id = 90
)中找到它的標題,它的正文在BodyPartRecord
表中與標題部分記錄具有相同的關係,並且AutorouteRecord
中的路由部分表具有相同的關係,以及CommonPartRecord
(Id = 90)中的共同元數據。
這是從Orchard數據庫提取數據的方式,希望這會對你有所幫助。
TNX到@mdameer ... 和madmeer的答案相關的查詢是這樣的:
SELECT * FROM dbo.default_Title_TitlePartRecord
inner join dbo.default_Orchard_Framework_ContentItemRecord on
dbo.default_Title_TitlePartRecord.ContentItemRecord_id=dbo.default_Orchard_Framework_ContentItemRecord.Id
inner join dbo.default_Common_BodyPartRecord on
dbo.default_Common_BodyPartRecord.ContentItemRecord_id=dbo.default_Orchard_Framework_ContentItemRecord.Id
where dbo.default_Title_TitlePartRecord.ContentItemRecord_id=90
,這是rightsolution
以防萬一它可能是有用的人,以下是用於將Orchard實例遷移到Umbraco的實際SQL查詢。它來自mdameerand和Iman Salehi的出色答案:
SELECT t.Title, f.Data, b.Text FROM dbo.Title_TitlePartRecord t
inner join dbo.Orchard_Framework_ContentItemRecord f on
t.ContentItemRecord_id=f.Id
inner join dbo.Common_BodyPartRecord b on
b.ContentItemRecord_id=f.Id
AND b.Id = (
SELECT MAX(m2.Id)
FROM dbo.Common_BodyPartRecord m2
WHERE m2.ContentItemRecord_id = f.Id
)
AND t.Id = (
SELECT MAX(m2.Id)
FROM dbo.Title_TitlePartRecord m2
WHERE m2.ContentItemRecord_id = f.Id
)
請注意,被推薦使用導出功能的已刪除答案實際上是正確的答案。非常沮喪地直接在SQL查詢Orchard中的數據庫。在內容項中搜索條款也不適合用於SQL:Orchard包含Lucene搜索,它應該用於這種全文搜索。 –