install.sql.sqlite.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. global $SQL_CREATE_TABLES;
  3. $SQL_CREATE_TABLES = array(
  4. 'CREATE TABLE IF NOT EXISTS `category` (
  5. `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  6. `name` varchar(255) NOT NULL,
  7. UNIQUE (`name`)
  8. );',
  9. 'CREATE TABLE IF NOT EXISTS `feed` (
  10. `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  11. `url` varchar(511) NOT NULL,
  12. `category` SMALLINT DEFAULT 0,
  13. `name` varchar(255) NOT NULL,
  14. `website` varchar(255),
  15. `description` text,
  16. `lastUpdate` int(11) DEFAULT 0, -- Until year 2038
  17. `priority` tinyint(2) NOT NULL DEFAULT 10,
  18. `pathEntries` varchar(511) DEFAULT NULL,
  19. `httpAuth` varchar(511) DEFAULT NULL,
  20. `error` boolean DEFAULT 0,
  21. `keep_history` MEDIUMINT NOT NULL DEFAULT -2,
  22. `ttl` INT NOT NULL DEFAULT -2,
  23. `cache_nbEntries` int DEFAULT 0,
  24. `cache_nbUnreads` int DEFAULT 0,
  25. FOREIGN KEY (`category`) REFERENCES `category`(`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  26. UNIQUE (`url`)
  27. );',
  28. 'CREATE INDEX IF NOT EXISTS feed_name_index ON `feed`(`name`);',
  29. 'CREATE INDEX IF NOT EXISTS feed_priority_index ON `feed`(`priority`);',
  30. 'CREATE INDEX IF NOT EXISTS feed_keep_history_index ON `feed`(`keep_history`);',
  31. 'CREATE TABLE IF NOT EXISTS `entry` (
  32. `id` bigint NOT NULL,
  33. `guid` varchar(760) NOT NULL,
  34. `title` varchar(255) NOT NULL,
  35. `author` varchar(255),
  36. `content` text,
  37. `link` varchar(1023) NOT NULL,
  38. `date` int(11), -- Until year 2038
  39. `lastSeen` INT(11) DEFAULT 0, -- v1.1.1, Until year 2038
  40. `hash` BINARY(16), -- v1.1.1
  41. `is_read` boolean NOT NULL DEFAULT 0,
  42. `is_favorite` boolean NOT NULL DEFAULT 0,
  43. `id_feed` SMALLINT,
  44. `tags` varchar(1023),
  45. PRIMARY KEY (`id`),
  46. FOREIGN KEY (`id_feed`) REFERENCES `feed`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  47. UNIQUE (`id_feed`,`guid`)
  48. );',
  49. 'CREATE INDEX IF NOT EXISTS entry_is_favorite_index ON `entry`(`is_favorite`);',
  50. 'CREATE INDEX IF NOT EXISTS entry_is_read_index ON `entry`(`is_read`);',
  51. 'CREATE INDEX IF NOT EXISTS entry_lastSeen_index ON `entry`(`lastSeen`);', //v1.1.1
  52. 'INSERT OR IGNORE INTO `category` (id, name) VALUES(1, "%2$s");',
  53. );
  54. global $SQL_CREATE_TABLE_ENTRYTMP;
  55. $SQL_CREATE_TABLE_ENTRYTMP = array(
  56. 'CREATE TABLE IF NOT EXISTS `entrytmp` ( -- v1.7
  57. `id` bigint NOT NULL,
  58. `guid` varchar(760) NOT NULL,
  59. `title` varchar(255) NOT NULL,
  60. `author` varchar(255),
  61. `content` text,
  62. `link` varchar(1023) NOT NULL,
  63. `date` int(11),
  64. `lastSeen` INT(11) DEFAULT 0,
  65. `hash` BINARY(16),
  66. `is_read` boolean NOT NULL DEFAULT 0,
  67. `is_favorite` boolean NOT NULL DEFAULT 0,
  68. `id_feed` SMALLINT,
  69. `tags` varchar(1023),
  70. PRIMARY KEY (`id`),
  71. FOREIGN KEY (`id_feed`) REFERENCES `feed`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  72. UNIQUE (`id_feed`,`guid`)
  73. );',
  74. 'CREATE INDEX IF NOT EXISTS entrytmp_date_index ON `entrytmp`(`date`);',
  75. 'CREATE INDEX IF NOT EXISTS `entry_feed_read_index` ON `entry`(`id_feed`,`is_read`);', //v1.7
  76. );
  77. global $SQL_INSERT_FEEDS;
  78. $SQL_INSERT_FEEDS = array(
  79. 'INSERT OR IGNORE INTO `feed`
  80. (
  81. url,
  82. category,
  83. name,
  84. website,
  85. description,
  86. ttl
  87. )
  88. VALUES
  89. (
  90. "http://freshrss.org/feeds/all.atom.xml",
  91. 1,
  92. "FreshRSS.org",
  93. "http://freshrss.org/",
  94. "FreshRSS, a free, self-hostable aggregator…",
  95. 86400
  96. );',
  97. 'INSERT OR IGNORE INTO `feed`
  98. (
  99. url,
  100. category,
  101. name,
  102. website,
  103. description,
  104. ttl
  105. )
  106. VALUES
  107. (
  108. "https://github.com/FreshRSS/FreshRSS/releases.atom",
  109. 1,
  110. "FreshRSS releases",
  111. "https://github.com/FreshRSS/FreshRSS/",
  112. "FreshRSS releases @ GitHub",
  113. 86400
  114. );',
  115. );
  116. define('SQL_DROP_TABLES', 'DROP TABLE IF EXISTS `entrytmp`, `entry`, `feed`, `category`');