diff --git a/server/db-patches/patch-17-18.sql b/server/db-patches/patch-17-18.sql new file mode 100644 index 0000000000..b27465e848 --- /dev/null +++ b/server/db-patches/patch-17-18.sql @@ -0,0 +1 @@ +ALTER TABLE images ADD COLUMN size INT DEFAULT NULL; diff --git a/server/db-patches/patch-18-17.sql b/server/db-patches/patch-18-17.sql new file mode 100644 index 0000000000..529fab54f6 --- /dev/null +++ b/server/db-patches/patch-18-17.sql @@ -0,0 +1 @@ +ALTER TABLE images DROP COLUMN size; diff --git a/server/schema.sql b/server/schema.sql index 1b8c00f23f..032d766f6f 100644 --- a/server/schema.sql +++ b/server/schema.sql @@ -1,23 +1,30 @@ +CREATE TYPE shot_block_type AS ENUM ( + 'none', + 'dmca' +); +ALTER TYPE shot_block_type OWNER TO ianbicking; CREATE TABLE accounts ( id character varying(200) NOT NULL, - token text + token text, + avatarurl text, + nickname text, + email text ); CREATE TABLE data ( id character varying(120) NOT NULL, deviceid character varying(200), created timestamp without time zone DEFAULT now(), value text NOT NULL, - url text NOT NULL, + url text, expire_time timestamp without time zone DEFAULT (now() + '14 days'::interval), deleted boolean DEFAULT false NOT NULL, title text, searchable_text tsvector, - searchable_version integer + searchable_version integer, + block_type shot_block_type DEFAULT 'none'::shot_block_type NOT NULL ); CREATE TABLE devices ( id character varying(200) NOT NULL, - nickname text, - avatarurl text, accountid character varying(200), last_addon_version text, last_login timestamp without time zone, @@ -31,7 +38,8 @@ CREATE TABLE images ( shotid character varying(200) NOT NULL, clipid character varying(200) NOT NULL, contenttype text NOT NULL, - url text + url text, + size integer ); CREATE TABLE metrics_cache ( created timestamp without time zone DEFAULT now(), @@ -72,4 +80,4 @@ ALTER TABLE ONLY images ADD CONSTRAINT images_shotid_fkey FOREIGN KEY (shotid) REFERENCES data(id) ON DELETE CASCADE; ALTER TABLE ONLY states ADD CONSTRAINT states_deviceid_fkey FOREIGN KEY (deviceid) REFERENCES devices(id) ON DELETE CASCADE; --- pg-patch version: 14 +-- pg-patch version: 18 diff --git a/server/src/dbschema.js b/server/src/dbschema.js index bea2b86444..999d473430 100644 --- a/server/src/dbschema.js +++ b/server/src/dbschema.js @@ -4,7 +4,9 @@ const pgpatcher = require("pg-patcher"); const path = require("path"); const mozlog = require("./logging").mozlog("dbschema"); -const MAX_DB_LEVEL = exports.MAX_DB_LEVEL = 17; +// When updating the database, please also run ./bin/dumpschema --record +// This updates schema.sql with the latest full database schema +const MAX_DB_LEVEL = exports.MAX_DB_LEVEL = 18; exports.forceDbVersion = function(version) { mozlog.info("forcing-db-version", {db: db.constr, version});