PageRenderTime 61ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/BlogEngine/BlogEngine.NET/setup/SQLite/SQLiteUpgradeFrom2.0To2.5.txt

#
Plain Text | 438 lines | 360 code | 78 blank | 0 comment | 0 complexity | 61cb4c5be3fcbadebcc4b67743574509 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, BSD-3-Clause
  1. --
  2. -- Add be_Blogs
  3. --
  4. CREATE TABLE be_Blogs (
  5. [BlogRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  6. [BlogId] VARCHAR(36) NOT NULL,
  7. [BlogName] VARCHAR(255) NOT NULL,
  8. [Hostname] VARCHAR(255) NOT NULL,
  9. [IsAnyTextBeforeHostnameAccepted] BOOLEAN NOT NULL,
  10. [StorageContainerName] VARCHAR(255) NOT NULL,
  11. [VirtualPath] VARCHAR(255) NOT NULL,
  12. [IsPrimary] BOOLEAN NOT NULL DEFAULT 0,
  13. [IsActive] BOOLEAN NOT NULL DEFAULT 1);
  14. INSERT INTO be_Blogs (BlogId, BlogName, Hostname, IsAnyTextBeforeHostnameAccepted, StorageContainerName, VirtualPath, IsPrimary, IsActive)
  15. VALUES ('27604f05-86ad-47ef-9e05-950bb762570c', 'Primary', '', 0, '', '~/', 1, 1);
  16. --
  17. -- Update be_Users
  18. --
  19. ALTER TABLE be_Users
  20. ADD BlogID VARCHAR(36) NULL;
  21. UPDATE be_Users SET BlogID = '27604f05-86ad-47ef-9e05-950bb762570c';
  22. CREATE INDEX idx_be_Users_BlogId_UserName
  23. ON be_Users (BlogID, UserName);
  24. --
  25. -- Update be_UserRoles
  26. --
  27. CREATE TABLE be_UserRolesNew (
  28. [UserRoleID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  29. [BlogID] VARCHAR(36) NOT NULL,
  30. [UserName] VARCHAR(100) NOT NULL,
  31. [Role] VARCHAR(100) NOT NULL);
  32. INSERT INTO be_UserRolesNew
  33. SELECT ur.UserRoleID, '27604f05-86ad-47ef-9e05-950bb762570c', u.UserName, r.Role
  34. FROM be_UserRoles ur
  35. INNER JOIN be_Users u ON ur.UserID = u.UserID
  36. INNER JOIN be_Roles r ON ur.RoleID = r.RoleID;
  37. DROP TABLE be_UserRoles;
  38. ALTER TABLE be_UserRolesNew RENAME TO be_UserRoles;
  39. CREATE INDEX idx_be_UserRoles_BlogId
  40. ON be_UserRoles (BlogID);
  41. --
  42. -- Update be_StopWords
  43. --
  44. CREATE TABLE be_StopWordsNew (
  45. [StopWordsRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  46. [BlogId] VARCHAR(36) NOT NULL,
  47. [StopWord] VARCHAR(50) NOT NULL);
  48. INSERT INTO be_StopWordsNew (BlogId, StopWord)
  49. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', o.StopWord
  50. FROM be_StopWords o;
  51. DROP TABLE be_StopWords;
  52. ALTER TABLE be_StopWordsNew RENAME TO be_StopWords;
  53. CREATE INDEX idx_be_StopWords_BlogId
  54. ON be_StopWords (BlogId);
  55. --
  56. -- Update be_Settings
  57. --
  58. CREATE TABLE be_SettingsNew (
  59. [SettingsRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  60. [BlogId] VARCHAR(36) NOT NULL,
  61. [SettingName] VARCHAR(50),
  62. [SettingValue] TEXT NULL);
  63. INSERT INTO be_SettingsNew (BlogId, SettingName, SettingValue)
  64. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', s.SettingName, s.SettingValue
  65. FROM be_Settings s;
  66. DROP TABLE be_Settings;
  67. ALTER TABLE be_SettingsNew RENAME TO be_Settings;
  68. CREATE INDEX idx_be_Settings_BlogId
  69. ON be_Settings (BlogId);
  70. --
  71. -- Update be_Roles
  72. --
  73. ALTER TABLE be_Roles
  74. ADD BlogID VARCHAR(36) NULL;
  75. UPDATE be_Roles SET BlogID = '27604f05-86ad-47ef-9e05-950bb762570c';
  76. CREATE INDEX idx_be_Roles_BlogId_Role
  77. ON be_Roles (BlogID, Role);
  78. --
  79. -- Update be_Rights
  80. --
  81. CREATE TABLE be_RightsNew (
  82. [RightRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  83. [BlogId] VARCHAR(36) NOT NULL,
  84. [RightName] VARCHAR(100));
  85. INSERT INTO be_RightsNew (BlogId, RightName)
  86. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', r.RightName
  87. FROM be_Rights r;
  88. DROP TABLE be_Rights;
  89. ALTER TABLE be_RightsNew RENAME TO be_Rights;
  90. CREATE INDEX idx_be_Rights_BlogId
  91. ON be_Rights (BlogId);
  92. --
  93. -- Update be_RightRoles
  94. --
  95. CREATE TABLE be_RightRolesNew (
  96. [RightRoleRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  97. [BlogId] VARCHAR(36) NOT NULL,
  98. [RightName] VARCHAR(100),
  99. [Role] VARCHAR(100));
  100. INSERT INTO be_RightRolesNew (BlogId, RightName, Role)
  101. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', r.RightName, r.Role
  102. FROM be_RightRoles r;
  103. DROP TABLE be_RightRoles;
  104. ALTER TABLE be_RightRolesNew RENAME TO be_RightRoles;
  105. CREATE INDEX idx_be_RightRoles_BlogId
  106. ON be_RightRoles (BlogId);
  107. --
  108. -- Update be_BlogRollItems
  109. --
  110. CREATE TABLE be_BlogRollItemsNew (
  111. [BlogRollRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  112. [BlogId] VARCHAR(36) NOT NULL,
  113. [BlogRollId] VARCHAR(36) NOT NULL,
  114. [Title] VARCHAR(255) NULL,
  115. [Description] TEXT NULL,
  116. [BlogUrl] VARCHAR(255) NOT NULL,
  117. [FeedUrl] VARCHAR(255) NULL,
  118. [Xfn] VARCHAR(255) NULL,
  119. [SortIndex] INTEGER NOT NULL
  120. );
  121. INSERT INTO be_BlogRollItemsNew (BlogId, BlogRollId, Title, Description, BlogUrl, FeedUrl, Xfn, SortIndex)
  122. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', b.BlogRollId, b.Title, b.Description, b.BlogUrl, b.FeedUrl, b.Xfn, b.SortIndex
  123. FROM be_BlogRollItems b;
  124. DROP TABLE be_BlogRollItems;
  125. ALTER TABLE be_BlogRollItemsNew RENAME TO be_BlogRollItems;
  126. CREATE INDEX idx_be_BlogRollItems_BlogId
  127. ON be_BlogRollItems (BlogId);
  128. --
  129. -- Update be_DataStoreSettings
  130. --
  131. CREATE TABLE be_DataStoreSettingsNew (
  132. [DataStoreSettingRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  133. [BlogId] VARCHAR(36) NOT NULL,
  134. [ExtensionType] VARCHAR(50) NOT NULL,
  135. [ExtensionId] VARCHAR(100) NULL,
  136. [Settings] TEXT NULL
  137. );
  138. INSERT INTO be_DataStoreSettingsNew (BlogId, ExtensionType, ExtensionId, Settings)
  139. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', b.ExtensionType, b.ExtensionId, b.Settings
  140. FROM be_DataStoreSettings b;
  141. DROP TABLE be_DataStoreSettings;
  142. ALTER TABLE be_DataStoreSettingsNew RENAME TO be_DataStoreSettings;
  143. CREATE INDEX idx_be_DataStoreSettings_BlogId
  144. ON be_DataStoreSettings (BlogId);
  145. --
  146. -- Update be_PingService
  147. --
  148. CREATE TABLE be_PingServiceNew (
  149. [PingServiceID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  150. [BlogID] VARCHAR(36) NOT NULL,
  151. [Link] VARCHAR(255) NOT NULL
  152. );
  153. INSERT INTO be_PingServiceNew (BlogID, Link)
  154. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', p.Link
  155. FROM be_PingService p;
  156. DROP TABLE be_PingService;
  157. ALTER TABLE be_PingServiceNew RENAME TO be_PingService;
  158. CREATE INDEX idx_be_PingService_BlogID
  159. ON be_PingService (BlogID);
  160. --
  161. -- Update be_Referrers
  162. --
  163. CREATE TABLE be_ReferrersNew (
  164. [ReferrerRowId] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  165. [BlogId] VARCHAR(36) NOT NULL,
  166. [ReferrerId] VARCHAR(36) NOT NULL,
  167. [ReferralDay] DATE DEFAULT CURRENT_DATE NOT NULL,
  168. [ReferrerUrl] VARCHAR(255) NOT NULL,
  169. [ReferralCount] INTEGER NOT NULL,
  170. [Url] VARCHAR(255) NULL,
  171. [IsSpam] BOOLEAN NULL
  172. );
  173. INSERT INTO be_ReferrersNew (BlogId, ReferrerId, ReferralDay, ReferrerUrl, ReferralCount, Url, IsSpam)
  174. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', r.ReferrerId, r.ReferralDay, r.ReferrerUrl, r.ReferralCount, r.Url, r.IsSpam
  175. FROM be_Referrers r;
  176. DROP TABLE be_Referrers;
  177. ALTER TABLE be_ReferrersNew RENAME TO be_Referrers;
  178. CREATE INDEX idx_be_Referrers_BlogId
  179. ON be_Referrers (BlogId);
  180. --
  181. -- Update be_Profiles
  182. --
  183. CREATE TABLE be_ProfilesNew (
  184. [ProfileID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  185. [BlogID] VARCHAR(36) NOT NULL,
  186. [UserName] VARCHAR(100) NOT NULL,
  187. [SettingName] VARCHAR(200) NOT NULL,
  188. [SettingValue] TEXT NOT NULL
  189. );
  190. INSERT INTO be_ProfilesNew (BlogID, UserName, SettingName, SettingValue)
  191. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', p.UserName, p.SettingName, p.SettingValue
  192. FROM be_Profiles p;
  193. DROP TABLE be_Profiles;
  194. ALTER TABLE be_ProfilesNew RENAME TO be_Profiles;
  195. CREATE INDEX idx_be_Profiles_BlogID
  196. ON be_Profiles (BlogID);
  197. --
  198. -- Update be_Pages
  199. --
  200. CREATE TABLE be_PagesNew (
  201. [PageRowID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  202. [BlogID] VARCHAR(36) NOT NULL,
  203. [PageID] VARCHAR(36) NOT NULL,
  204. [Title] VARCHAR(255) NOT NULL,
  205. [Description] TEXT NOT NULL,
  206. [PageContent] TEXT NOT NULL,
  207. [Keywords] TEXT NOT NULL,
  208. [DateCreated] DATETIME NOT NULL,
  209. [DateModified] DATETIME NOT NULL,
  210. [IsPublished] BOOLEAN NOT NULL,
  211. [IsFrontPage] BOOLEAN NOT NULL,
  212. [Parent] VARCHAR(36) NOT NULL,
  213. [ShowInList] BOOLEAN NOT NULL,
  214. [Slug] VARCHAR(255) NOT NULL,
  215. [IsDeleted] BOOLEAN NOT NULL
  216. );
  217. INSERT INTO be_PagesNew
  218. (BlogID, PageID, Title, Description, PageContent, Keywords,
  219. DateCreated, DateModified, IsPublished, IsFrontPage, Parent,
  220. ShowInList, Slug, IsDeleted)
  221. SELECT
  222. '27604f05-86ad-47ef-9e05-950bb762570c', p.PageID, p.Title, p.Description, p.PageContent, p.Keywords,
  223. p.DateCreated, p.DateModified, p.IsPublished, p.IsFrontPage, p.Parent,
  224. p.ShowInList, coalesce(p.Slug, ''), p.IsDeleted
  225. FROM be_Pages p;
  226. DROP TABLE be_Pages;
  227. ALTER TABLE be_PagesNew RENAME TO be_Pages;
  228. CREATE INDEX idx_be_Pages_BlogID
  229. ON be_Pages (BlogID);
  230. --
  231. -- Update be_Categories
  232. --
  233. CREATE TABLE be_CategoriesNew (
  234. [CategoryRowID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  235. [BlogID] VARCHAR(36) NOT NULL,
  236. [CategoryID] VARCHAR(36) NOT NULL,
  237. [CategoryName] VARCHAR(50) NOT NULL,
  238. [Description] VARCHAR(200) NOT NULL,
  239. [ParentID] VARCHAR(36) NULL
  240. );
  241. INSERT INTO be_CategoriesNew (BlogID, CategoryID, CategoryName, Description, ParentID)
  242. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', c.CategoryID, c.CategoryName, coalesce(c.Description, ''), c.ParentID
  243. FROM be_Categories c;
  244. DROP TABLE be_Categories;
  245. ALTER TABLE be_CategoriesNew RENAME TO be_Categories;
  246. CREATE INDEX idx_be_Categories_BlogID
  247. ON be_Categories (BlogID);
  248. --
  249. -- Update be_PostCategory
  250. --
  251. CREATE TABLE be_PostCategoryNew (
  252. [PostCategoryID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  253. [BlogID] VARCHAR(36) NOT NULL,
  254. [PostID] VARCHAR(36) NOT NULL,
  255. [CategoryID] VARCHAR(36) NOT NULL
  256. );
  257. INSERT INTO be_PostCategoryNew (BlogID, PostID, CategoryID)
  258. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', p.PostID, p.CategoryID
  259. FROM be_PostCategory p;
  260. DROP TABLE be_PostCategory;
  261. ALTER TABLE be_PostCategoryNew RENAME TO be_PostCategory;
  262. CREATE INDEX idx_be_PostCategory_BlogID_PostID
  263. ON be_PostCategory (BlogID, PostID);
  264. --
  265. -- Update be_PostNotify
  266. --
  267. CREATE TABLE be_PostNotifyNew (
  268. [PostNotifyID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  269. [BlogID] VARCHAR(36) NOT NULL,
  270. [PostID] VARCHAR(36) NOT NULL,
  271. [NotifyAddress] VARCHAR(255) NOT NULL
  272. );
  273. INSERT INTO be_PostNotifyNew (BlogID, PostID, NotifyAddress)
  274. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', p.PostID, p.NotifyAddress
  275. FROM be_PostNotify p;
  276. DROP TABLE be_PostNotify;
  277. ALTER TABLE be_PostNotifyNew RENAME TO be_PostNotify;
  278. CREATE INDEX idx_be_PostNotify_BlogID_PostID
  279. ON be_PostNotify (BlogID, PostID);
  280. --
  281. -- Update be_PostTag
  282. --
  283. CREATE TABLE be_PostTagNew (
  284. [PostTagID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  285. [BlogID] VARCHAR(36) NOT NULL,
  286. [PostID] VARCHAR(36) NOT NULL,
  287. [Tag] VARCHAR(50) NOT NULL
  288. );
  289. INSERT INTO be_PostTagNew (BlogID, PostID, Tag)
  290. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', p.PostID, p.Tag
  291. FROM be_PostTag p;
  292. DROP TABLE be_PostTag;
  293. ALTER TABLE be_PostTagNew RENAME TO be_PostTag;
  294. CREATE INDEX idx_be_PostTag_BlogID_PostID
  295. ON be_PostTag (BlogID, PostID);
  296. --
  297. -- Update be_PostComment
  298. --
  299. CREATE TABLE be_PostCommentNew (
  300. [PostCommentRowID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  301. [BlogID] VARCHAR(36) NOT NULL,
  302. [PostCommentID] VARCHAR(36) NOT NULL,
  303. [PostID] VARCHAR(36) NOT NULL,
  304. [ParentCommentID] VARCHAR(36) NOT NULL,
  305. [CommentDate] DATETIME NOT NULL,
  306. [Author] VARCHAR(255) NOT NULL,
  307. [Email] VARCHAR(255) NOT NULL,
  308. [Website] VARCHAR(255) NOT NULL,
  309. [Comment] TEXT NOT NULL,
  310. [Country] VARCHAR(255) NOT NULL,
  311. [Ip] VARCHAR(50) NOT NULL,
  312. [IsApproved] BOOLEAN NOT NULL,
  313. [ModeratedBy] VARCHAR(100) NOT NULL,
  314. [Avatar] VARCHAR(255) NOT NULL,
  315. [IsSpam] BOOLEAN NOT NULL,
  316. [IsDeleted] BOOLEAN NOT NULL
  317. );
  318. INSERT INTO be_PostCommentNew
  319. (BlogID, PostCommentID, PostID, ParentCommentID, CommentDate, Author,
  320. Email, Website, Comment, Country, Ip, IsApproved, ModeratedBy, Avatar,
  321. IsSpam, IsDeleted)
  322. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', p.PostCommentID, p.PostID, p.ParentCommentID, p.CommentDate, p.Author,
  323. p.Email, p.Website, p.Comment, p.Country, p.Ip, p.IsApproved, coalesce(p.ModeratedBy,''),coalesce(p.Avatar, ''), p.IsSpam, p.IsDeleted
  324. FROM be_PostComment p;
  325. DROP TABLE be_PostComment;
  326. ALTER TABLE be_PostCommentNew RENAME TO be_PostComment;
  327. CREATE INDEX idx_be_PostComment_BlogID_PostID
  328. ON be_PostComment (BlogID, PostID);
  329. --
  330. -- Update be_Posts
  331. --
  332. CREATE TABLE be_PostsNew (
  333. [PostRowID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  334. [BlogID] VARCHAR(36) NOT NULL,
  335. [PostID] VARCHAR(36) NOT NULL,
  336. [Title] VARCHAR(255) NOT NULL,
  337. [Description] TEXT NOT NULL,
  338. [PostContent] TEXT NOT NULL,
  339. [DateCreated] DATETIME NOT NULL,
  340. [DateModified] DATETIME NOT NULL,
  341. [Author] VARCHAR(50) NOT NULL,
  342. [IsPublished] BOOLEAN NOT NULL,
  343. [IsCommentEnabled] BOOLEAN NOT NULL,
  344. [Raters] INTEGER NOT NULL,
  345. [Rating] REAL NOT NULL,
  346. [Slug] VARCHAR(255) NOT NULL,
  347. [IsDeleted] BOOLEAN NOT NULL
  348. );
  349. INSERT INTO be_PostsNew
  350. (BlogID, PostID, Title, Description, PostContent, DateCreated,
  351. DateModified, Author, IsPublished, IsCommentEnabled, Raters,
  352. Rating, Slug, IsDeleted)
  353. SELECT '27604f05-86ad-47ef-9e05-950bb762570c', p.PostID, p.Title, p.Description, p.PostContent, p.DateCreated,
  354. p.DateModified, p.Author, p.IsPublished, p.IsCommentEnabled, p.Raters,
  355. p.Rating, p.Slug, p.IsDeleted
  356. FROM be_Posts p;
  357. DROP TABLE be_Posts;
  358. ALTER TABLE be_PostsNew RENAME TO be_Posts;
  359. CREATE INDEX idx_be_Posts_BlogID_PostID
  360. ON be_Posts (BlogID, PostID);