X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fstorage%2Fsfa.sql;h=cc26c1c86e44f83be6d8e81f0ee002bbb8bb2c9e;hb=5310688934eb634ac0a6c3c2f5a9e616dcd1899e;hp=3d7984d11ecca314a9c3faed6e320fe191dd9a4f;hpb=45f5ad180c84c1462cfc5e3c8574318e2d121b2d;p=sfa.git diff --git a/sfa/storage/sfa.sql b/sfa/storage/sfa.sql index 3d7984d1..cc26c1c8 100644 --- a/sfa/storage/sfa.sql +++ b/sfa/storage/sfa.sql @@ -14,12 +14,7 @@ CREATE TABLE sfa_db_version ( subversion integer NOT NULL DEFAULT 0 ) WITH OIDS; --- the migration scripts do not use the major 'version' number --- so 5.0 sets subversion at 100 --- in case your database misses the site and persons tags feature, --- you might wish to first upgrade to 4.3-rc16 before moving to some 5.0 --- or run the up script here --- http://svn.planet-lab.org/svn/PLCAPI/branches/4.3/migrations/ +-- for upgrades/migrations INSERT INTO sfa_db_version (version, subversion) VALUES (1, 1); @@ -36,20 +31,33 @@ CREATE AGGREGATE array_accum ( initcond = '{}' ); +-- Valid record types +CREATE TABLE record_types ( + record_type text PRIMARY KEY +) WITH OIDS; +INSERT INTO record_types (record_type) VALUES ('authority'); +INSERT INTO record_types (record_type) VALUES ('authority+sa'); +INSERT INTO record_types (record_type) VALUES ('authority+am'); +INSERT INTO record_types (record_type) VALUES ('authority+sm'); +INSERT INTO record_types (record_type) VALUES ('user'); +INSERT INTO record_types (record_type) VALUES ('slice'); +INSERT INTO record_types (record_type) VALUES ('node'); + + -- main table -CREATE TABLE sfa ( +CREATE TABLE records ( record_id serial PRIMARY KEY , hrn text NOT NULL, authority text NOT NULL, peer_authority text, gid text, - type text NOT NULL, + type text REFERENCES record_types, pointer integer, date_created timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, last_updated timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX sfa_hrn_ids on sfa (hrn); -CREATE INDEX sfa_type_ids on sfa (type); -CREATE INDEX sfa_authority_ids on sfa (authority); -CREATE INDEX sfa_peer_authority_ids on sfa (peer_authority); -CREATE INDEX sfa_pointer_ids on sfa (pointer); +CREATE INDEX sfa_hrn_ids on records (hrn); +CREATE INDEX sfa_type_ids on records (type); +CREATE INDEX sfa_authority_ids on records (authority); +CREATE INDEX sfa_peer_authority_ids on records (peer_authority); +CREATE INDEX sfa_pointer_ids on records (pointer);