diff --git a/resources/sql/db_init_mysql.sql b/resources/sql/db_init_mysql.sql index ef73f2f38..c17ccef1b 100644 --- a/resources/sql/db_init_mysql.sql +++ b/resources/sql/db_init_mysql.sql @@ -12,7 +12,7 @@ CREATE TABLE IF NOT EXISTS Information ( inf_value TEXT NOT NULL ); -- ! -INSERT INTO Information VALUES (1, 'schema_version', '14'); +INSERT INTO Information VALUES (1, 'schema_version', '15'); -- ! CREATE TABLE IF NOT EXISTS Accounts ( id INTEGER PRIMARY KEY, @@ -127,4 +127,21 @@ CREATE TABLE IF NOT EXISTS Messages ( custom_hash TEXT, FOREIGN KEY (account_id) REFERENCES Accounts (id) -); \ No newline at end of file +); +-- ! +CREATE TABLE IF NOT EXISTS MessageFilters ( + id INTEGER PRIMARY KEY, + name TEXT NOT NULL CHECK (name != ''), + script TEXT NOT NULL CHECK (script != '') +); +-- ! +CREATE TABLE IF NOT EXISTS MessageFiltersInFeeds ( + filter INTEGER NOT NULL, + feed_custom_id INTEGER NOT NULL, + account_id INTEGER NOT NULL, + + FOREIGN KEY (filter) REFERENCES MessageFilters (id) ON DELETE CASCADE, + FOREIGN KEY (account_id) REFERENCES Accounts (id) ON DELETE CASCADE +); +-- ! +UPDATE Information SET inf_value = '15' WHERE inf_key = 'schema_version'; \ No newline at end of file diff --git a/resources/sql/db_init_sqlite.sql b/resources/sql/db_init_sqlite.sql index d7980c763..a6764b384 100644 --- a/resources/sql/db_init_sqlite.sql +++ b/resources/sql/db_init_sqlite.sql @@ -6,7 +6,7 @@ CREATE TABLE IF NOT EXISTS Information ( inf_value TEXT NOT NULL ); -- ! -INSERT INTO Information VALUES (1, 'schema_version', '14'); +INSERT INTO Information VALUES (1, 'schema_version', '15'); -- ! CREATE TABLE IF NOT EXISTS Accounts ( id INTEGER PRIMARY KEY, @@ -121,4 +121,19 @@ CREATE TABLE IF NOT EXISTS Messages ( custom_hash TEXT, FOREIGN KEY (account_id) REFERENCES Accounts (id) +); +-- ! +CREATE TABLE IF NOT EXISTS MessageFilters ( + id INTEGER PRIMARY KEY, + name TEXT NOT NULL CHECK (name != ''), + script TEXT NOT NULL CHECK (script != '') +); +-- ! +CREATE TABLE IF NOT EXISTS MessageFiltersInFeeds ( + filter INTEGER NOT NULL, + feed_custom_id INTEGER NOT NULL, + account_id INTEGER NOT NULL, + + FOREIGN KEY (filter) REFERENCES MessageFilters (id) ON DELETE CASCADE, + FOREIGN KEY (account_id) REFERENCES Accounts (id) ON DELETE CASCADE ); \ No newline at end of file diff --git a/resources/sql/db_update_mysql_14_15.sql b/resources/sql/db_update_mysql_14_15.sql new file mode 100755 index 000000000..693b52ce1 --- /dev/null +++ b/resources/sql/db_update_mysql_14_15.sql @@ -0,0 +1,16 @@ +CREATE TABLE IF NOT EXISTS MessageFilters ( + id INTEGER PRIMARY KEY, + name TEXT NOT NULL CHECK (name != ''), + script TEXT NOT NULL CHECK (script != '') +); +-- ! +CREATE TABLE IF NOT EXISTS MessageFiltersInFeeds ( + filter INTEGER NOT NULL, + feed_custom_id INTEGER NOT NULL, + account_id INTEGER NOT NULL, + + FOREIGN KEY (filter) REFERENCES MessageFilters (id) ON DELETE CASCADE, + FOREIGN KEY (account_id) REFERENCES Accounts (id) ON DELETE CASCADE +); +-- ! +UPDATE Information SET inf_value = '15' WHERE inf_key = 'schema_version'; \ No newline at end of file diff --git a/resources/sql/db_update_sqlite_14_15.sql b/resources/sql/db_update_sqlite_14_15.sql new file mode 100755 index 000000000..701558fc2 --- /dev/null +++ b/resources/sql/db_update_sqlite_14_15.sql @@ -0,0 +1,16 @@ +CREATE TABLE IF NOT EXISTS MessageFilters ( + id INTEGER PRIMARY KEY, + name TEXT NOT NULL CHECK (name != ''), + script TEXT NOT NULL CHECK (script != '') +); +-- ! +CREATE TABLE IF NOT EXISTS MessageFiltersInFeeds ( + filter INTEGER NOT NULL, + feed_custom_id INTEGER NOT NULL, + account_id INTEGER NOT NULL, + + FOREIGN KEY (filter) REFERENCES MessageFilters (id) ON DELETE CASCADE, + FOREIGN KEY (account_id) REFERENCES Accounts (id) ON DELETE CASCADE +); +-- ! +UPDATE Information SET inf_value = '15' WHERE inf_key = 'schema_version'; \ No newline at end of file