aboutsummaryrefslogtreecommitdiff
path: root/app/SQL
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-10-01 19:35:14 +0200
committerGravatar GitHub <noreply@github.com> 2016-10-01 19:35:14 +0200
commit0ccf100568dc76bd88443fac13c5aef15fed9ff6 (patch)
tree2b72a0afa0fc0fcbd97ed85192fa3737313e7298 /app/SQL
parent8a58795e7dfd501c6c8ac84694e695c4f0791cfb (diff)
parent32ac41439a67e2c5777f9da80324fe0bfbf394ff (diff)
Merge pull request #1195 from Alkarex/PostgreSQL
PostgreSQL
Diffstat (limited to 'app/SQL')
-rw-r--r--app/SQL/install.sql.mysql.php2
-rw-r--r--app/SQL/install.sql.pgsql.php59
2 files changed, 61 insertions, 0 deletions
diff --git a/app/SQL/install.sql.mysql.php b/app/SQL/install.sql.mysql.php
index c78839ef7..92a00aecc 100644
--- a/app/SQL/install.sql.mysql.php
+++ b/app/SQL/install.sql.mysql.php
@@ -1,4 +1,6 @@
<?php
+define('SQL_CREATE_DB', 'CREATE DATABASE IF NOT EXISTS %1$s DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
+
define('SQL_CREATE_TABLES', '
CREATE TABLE IF NOT EXISTS `%1$scategory` (
`id` SMALLINT NOT NULL AUTO_INCREMENT, -- v0.7
diff --git a/app/SQL/install.sql.pgsql.php b/app/SQL/install.sql.pgsql.php
new file mode 100644
index 000000000..e60c5a07b
--- /dev/null
+++ b/app/SQL/install.sql.pgsql.php
@@ -0,0 +1,59 @@
+<?php
+define('SQL_CREATE_DB', 'CREATE DATABASE %1$s ENCODING \'UTF8\';');
+
+global $SQL_CREATE_TABLES;
+$SQL_CREATE_TABLES = array(
+'CREATE TABLE IF NOT EXISTS "%1$scategory" (
+ "id" SERIAL PRIMARY KEY,
+ "name" VARCHAR(255) UNIQUE NOT NULL
+);',
+
+'CREATE TABLE IF NOT EXISTS "%1$sfeed" (
+ "id" SERIAL PRIMARY KEY,
+ "url" varchar(511) UNIQUE NOT NULL,
+ "category" SMALLINT DEFAULT 0,
+ "name" VARCHAR(255) NOT NULL,
+ "website" VARCHAR(255),
+ "description" text,
+ "lastUpdate" INT DEFAULT 0,
+ "priority" SMALLINT NOT NULL DEFAULT 10,
+ "pathEntries" VARCHAR(511) DEFAULT NULL,
+ "httpAuth" VARCHAR(511) DEFAULT NULL,
+ "error" smallint DEFAULT 0,
+ "keep_history" INT NOT NULL DEFAULT -2,
+ "ttl" INT NOT NULL DEFAULT -2,
+ "cache_nbEntries" INT DEFAULT 0,
+ "cache_nbUnreads" INT DEFAULT 0,
+ FOREIGN KEY ("category") REFERENCES "%1$scategory" ("id") ON DELETE SET NULL ON UPDATE CASCADE
+);',
+'CREATE INDEX name_index ON "%1$sfeed" ("name");',
+'CREATE INDEX priority_index ON "%1$sfeed" ("priority");',
+'CREATE INDEX keep_history_index ON "%1$sfeed" ("keep_history");',
+
+'CREATE TABLE IF NOT EXISTS "%1$sentry" (
+ "id" BIGINT NOT NULL PRIMARY KEY,
+ "guid" VARCHAR(760) UNIQUE NOT NULL,
+ "title" VARCHAR(255) NOT NULL,
+ "author" VARCHAR(255),
+ "content" TEXT,
+ "link" VARCHAR(1023) NOT NULL,
+ "date" INT,
+ "lastSeen" INT DEFAULT 0,
+ "hash" BYTEA,
+ "is_read" SMALLINT NOT NULL DEFAULT 0,
+ "is_favorite" SMALLINT NOT NULL DEFAULT 0,
+ "id_feed" SMALLINT,
+ "tags" VARCHAR(1023),
+ FOREIGN KEY ("id_feed") REFERENCES "%1$sfeed" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
+ UNIQUE ("id_feed","guid")
+);',
+'CREATE INDEX is_favorite_index ON "%1$sentry" ("is_favorite");',
+'CREATE INDEX is_read_index ON "%1$sentry" ("is_read");',
+'CREATE INDEX entry_lastSeen_index ON "%1$sentry" ("lastSeen");',
+
+'INSERT INTO "%1$scategory" (id, name) VALUES(1, \'%2$s\');',
+'INSERT INTO "%1$sfeed" (url, category, name, website, description, ttl) VALUES(\'http://freshrss.org/feeds/all.atom.xml\', 1, \'FreshRSS.org\', \'http://freshrss.org/\', \'FreshRSS, a free, self-hostable aggregator…\', 86400);',
+'INSERT INTO "%1$sfeed" (url, category, name, website, description, ttl) VALUES(\'https://github.com/FreshRSS/FreshRSS/releases.atom\', 1, \'FreshRSS @ GitHub\', \'https://github.com/FreshRSS/FreshRSS/\', \'FreshRSS releases @ GitHub\', 86400);',
+);
+
+define('SQL_DROP_TABLES', 'DROP TABLES "%1$sentry", "%1$sfeed", "%1$scategory"');