install.sql.sqlite.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. $SQL_CREATE_TABLES = array(
  3. 'CREATE TABLE IF NOT EXISTS `%1$scategory` (
  4. `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  5. `name` varchar(255) NOT NULL,
  6. UNIQUE (`name`)
  7. );',
  8. 'CREATE TABLE IF NOT EXISTS `%1$sfeed` (
  9. `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  10. `url` varchar(511) NOT NULL,
  11. `%1$scategory` SMALLINT DEFAULT 0,
  12. `name` varchar(255) NOT NULL,
  13. `website` varchar(255),
  14. `description` text,
  15. `lastUpdate` int(11) DEFAULT 0,
  16. `priority` tinyint(2) NOT NULL DEFAULT 10,
  17. `pathEntries` varchar(511) DEFAULT NULL,
  18. `httpAuth` varchar(511) DEFAULT NULL,
  19. `error` boolean DEFAULT 0,
  20. `keep_history` MEDIUMINT NOT NULL DEFAULT -2,
  21. `ttl` INT NOT NULL DEFAULT -2,
  22. `cache_nbEntries` int DEFAULT 0,
  23. `cache_nbUnreads` int DEFAULT 0,
  24. FOREIGN KEY (`%1$scategory`) REFERENCES `%1$scategory`(`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  25. UNIQUE (`url`)
  26. );',
  27. 'CREATE INDEX IF NOT EXISTS feed_name_index ON `%1$sfeed`(`name`);',
  28. 'CREATE INDEX IF NOT EXISTS feed_priority_index ON `%1$sfeed`(`priority`);',
  29. 'CREATE INDEX IF NOT EXISTS feed_keep_history_index ON `%1$sfeed`(`keep_history`);',
  30. 'CREATE TABLE IF NOT EXISTS `%1$sentry` (
  31. `id` bigint NOT NULL,
  32. `guid` varchar(760) NOT NULL,
  33. `title` varchar(255) NOT NULL,
  34. `author` varchar(255),
  35. `content` text,
  36. `link` varchar(1023) NOT NULL,
  37. `date` int(11),
  38. `is_read` boolean NOT NULL DEFAULT 0,
  39. `is_favorite` boolean NOT NULL DEFAULT 0,
  40. `id_feed` SMALLINT,
  41. `tags` varchar(1023),
  42. PRIMARY KEY (`id`),
  43. FOREIGN KEY (`id_feed`) REFERENCES `%1$sfeed`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  44. UNIQUE (`id_feed`,`guid`)
  45. );',
  46. 'CREATE INDEX IF NOT EXISTS entry_is_favorite_index ON `%1$sentry`(`is_favorite`);',
  47. 'CREATE INDEX IF NOT EXISTS entry_is_read_index ON `%1$sentry`(`is_read`);',
  48. 'INSERT OR IGNORE INTO `%1$scategory` (id, name) VALUES(1, "%2$s");',
  49. );
  50. define('SQL_DROP_TABLES', 'DROP TABLES %1$sentry, %1$sfeed, %1$scategory');
  51. define('SQL_SHOW_TABLES', 'SELECT name FROM sqlite_master WHERE type="table"');