diff options
author | martin.von.loewis <devnull@localhost> | 2011-11-30 09:48:55 +0000 |
---|---|---|
committer | martin.von.loewis <devnull@localhost> | 2011-11-30 09:48:55 +0000 |
commit | bb11097eaf5b8cee30fbf5c47c0e7063093ae68c (patch) | |
tree | 8f4cf77c4f7cb4b7dbe62b5bbcec9df83b517a58 /pkgbase_schema.sql | |
parent | b7d7b0c67e73928692148cb5366ddba351f5bcab (diff) | |
download | decorator-bb11097eaf5b8cee30fbf5c47c0e7063093ae68c.tar.gz |
Reflect additions of cascaded updates.
Diffstat (limited to 'pkgbase_schema.sql')
-rw-r--r-- | pkgbase_schema.sql | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/pkgbase_schema.sql b/pkgbase_schema.sql index c176a00..111bb1e 100644 --- a/pkgbase_schema.sql +++ b/pkgbase_schema.sql @@ -13,7 +13,7 @@ CREATE INDEX users_email_idx ON users(email); CREATE TABLE openids ( id TEXT PRIMARY KEY, - name TEXT REFERENCES users ON DELETE CASCADE + name TEXT REFERENCES users ON UPDATE CASCADE ON DELETE CASCADE ); CREATE TABLE openid_discovered ( @@ -41,20 +41,21 @@ CREATE INDEX openid_nonces_nonce ON openid_nonces(nonce); CREATE TABLE cookies ( cookie text PRIMARY KEY, - name text references users, + name text references users ON UPDATE CASCADE ON DELETE CASCADE, last_seen timestamp ); CREATE INDEX cookies_last_seen ON cookies(last_seen); CREATE TABLE sshkeys( id SERIAL PRIMARY KEY, - name TEXT REFERENCES users ON DELETE CASCADE, + name TEXT REFERENCES users ON UPDATE CASCADE ON DELETE CASCADE, key TEXT ); CREATE INDEX sshkeys_name ON sshkeys(name); -- Table structure for table: rego_otk CREATE TABLE rego_otk ( + -- not cascading: rego_otk will have to expire to allow user name changes name TEXT REFERENCES users, otk TEXT UNIQUE, date TIMESTAMP ); @@ -67,7 +68,8 @@ CREATE TABLE journals ( version TEXT, action TEXT, submitted_date TIMESTAMP, - submitted_by TEXT REFERENCES users, + -- no cascaded delete: need to check whether journal has useful information + submitted_by TEXT REFERENCES users ON UPDATE CASCADED, submitted_from TEXT ); CREATE INDEX journals_name_idx ON journals(name); @@ -219,7 +221,8 @@ CREATE INDEX description_urls_name_version_idx ON description_urls(name, version -- Note: roles are Maintainer, Admin, Owner CREATE TABLE roles ( role_name TEXT, - user_name TEXT REFERENCES users, + -- no cascaded delete: user needs to drop all roles explicitly + user_name TEXT REFERENCES users ON UPDATE CASCADE, package_name TEXT REFERENCES packages ON UPDATE CASCADE ); CREATE INDEX roles_pack_name_idx ON roles(package_name); @@ -279,7 +282,7 @@ CREATE TABLE comments_journal( ); CREATE TABLE csrf_tokens ( - name text REFERENCES users(name) ON DELETE CASCADE, + name text REFERENCES users(name) ON UPDATE CASCADE ON DELETE CASCADE, token text, end_date timestamp without time zone, PRIMARY KEY(name) |