diff options
author | Rob Austein <sra@hactrn.net> | 2014-07-17 17:26:12 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-07-17 17:26:12 +0000 |
commit | 7ae2b2bb18685d757bbcca6c9e664170f1866486 (patch) | |
tree | 988c6a8bbd07c28249c30e237cc4ebc1a8104dec /schemas/sql/pubd.sql | |
parent | d91c0b6c6a607e2c318818c1aeb1ac756bd0492d (diff) |
Start unwinding the twisty maze of method calls in the old publication code.
svn path=/branches/tk705/; revision=5898
Diffstat (limited to 'schemas/sql/pubd.sql')
-rw-r--r-- | schemas/sql/pubd.sql | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/schemas/sql/pubd.sql b/schemas/sql/pubd.sql index 210396d5..1264b82a 100644 --- a/schemas/sql/pubd.sql +++ b/schemas/sql/pubd.sql @@ -19,18 +19,19 @@ -- SQL objects needed by pubd.py. +-- Old tables that should just be flushed if present at all. + +DROP TABLE IF EXISTS config; +DROP TABLE IF EXISTS snapshot; + -- DROP TABLE commands must be in correct (reverse dependency) order -- to satisfy FOREIGN KEY constraints. DROP TABLE IF EXISTS object; -DROP TABLE IF EXISTS snapshot; +DROP TABLE IF EXISTS delta; DROP TABLE IF EXISTS session; DROP TABLE IF EXISTS client; --- An old table that should just be flushed if present at all. - -DROP TABLE IF EXISTS config; - CREATE TABLE client ( client_id SERIAL NOT NULL, client_handle VARCHAR(255) NOT NULL, @@ -45,17 +46,22 @@ CREATE TABLE client ( CREATE TABLE session ( session_id SERIAL NOT NULL, uuid VARCHAR(36) NOT NULL, + serial BIGINT UNSIGNED NOT NULL, + snapshot TEXT, + hash CHAR(64), PRIMARY KEY (session_id), UNIQUE (uuid) ) ENGINE=InnoDB; -CREATE TABLE snapshot ( - snapshot_id SERIAL NOT NULL, - activated DATETIME, - expires DATETIME, +CREATE TABLE delta ( + delta_id SERIAL NOT NULL, + serial BIGINT UNSIGNED NOT NULL, + xml TEXT NOT NULL, + hash CHAR(64) NOT NULL, + expires DATETIME NOT NULL, session_id BIGINT UNSIGNED NOT NULL, - PRIMARY KEY (snapshot_id), - CONSTRAINT snapshot_session_id + PRIMARY KEY (delta_id), + CONSTRAINT delta_session_id FOREIGN KEY (session_id) REFERENCES session (session_id) ON DELETE CASCADE ) ENGINE=InnoDB; @@ -64,15 +70,9 @@ CREATE TABLE object ( uri VARCHAR(255) NOT NULL, hash CHAR(64) NOT NULL, payload LONGBLOB NOT NULL, - published_snapshot_id BIGINT UNSIGNED, - withdrawn_snapshot_id BIGINT UNSIGNED, client_id BIGINT UNSIGNED NOT NULL, session_id BIGINT UNSIGNED NOT NULL, PRIMARY KEY (object_id), - CONSTRAINT object_published_snapshot_id - FOREIGN KEY (published_snapshot_id) REFERENCES snapshot (snapshot_id) ON DELETE SET NULL, - CONSTRAINT object_withdrawn_snapshot_id - FOREIGN KEY (withdrawn_snapshot_id) REFERENCES snapshot (snapshot_id) ON DELETE CASCADE, CONSTRAINT object_client_id FOREIGN KEY (client_id) REFERENCES client (client_id) ON DELETE CASCADE, CONSTRAINT object_session_id |