]> git.decadent.org.uk Git - dak.git/blobdiff - add_constraints.sql
added extraoverrides (for Task: fields)
[dak.git] / add_constraints.sql
index d3f4fb971fa25c484f1c249fae889b0e50d4e614..b52b103b510ef3d70be40eeab7eede78293a9796 100644 (file)
@@ -1,4 +1,4 @@
--- Fix up after population off the database...
+-- Fix up after population of the database...
 
 -- First of all readd the constraints (takes ~1:30 on auric)
 
@@ -24,6 +24,12 @@ ALTER TABLE bin_associations ADD CONSTRAINT bin_associations_bin FOREIGN KEY (bi
 ALTER TABLE src_associations ADD CONSTRAINT src_associations_suite FOREIGN KEY (suite) REFERENCES suite(id) MATCH FULL;
 ALTER TABLE src_associations ADD CONSTRAINT src_associations_source FOREIGN KEY (source) REFERENCES source(id) MATCH FULL;
 
+ALTER TABLE override ADD CONSTRAINT override_suite FOREIGN KEY (suite) REFERENCES suite(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_component FOREIGN KEY (component) REFERENCES component(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_priority FOREIGN KEY (priority) REFERENCES priority(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_section FOREIGN KEY (section) REFERENCES section(id) MATCH FULL;
+ALTER TABLE override ADD CONSTRAINT override_type FOREIGN KEY (type) REFERENCES override_type(id) MATCH FULL;
+
 -- Then correct all the id SERIAL PRIMARY KEY columns...
 
 CREATE FUNCTION files_id_max() RETURNS INT4
@@ -44,6 +50,15 @@ CREATE FUNCTION binaries_id_max() RETURNS INT4
 CREATE FUNCTION bin_associations_id_max() RETURNS INT4
     AS 'SELECT max(id) FROM bin_associations' 
     LANGUAGE 'sql';
+CREATE FUNCTION section_id_max() RETURNS INT4
+    AS 'SELECT max(id) FROM section' 
+    LANGUAGE 'sql';
+CREATE FUNCTION priority_id_max() RETURNS INT4
+    AS 'SELECT max(id) FROM priority' 
+    LANGUAGE 'sql';
+CREATE FUNCTION override_type_id_max() RETURNS INT4
+    AS 'SELECT max(id) FROM override_type' 
+    LANGUAGE 'sql';
 
 SELECT setval('files_id_seq', files_id_max());
 SELECT setval('source_id_seq', source_id_max());
@@ -51,6 +66,9 @@ SELECT setval('src_associations_id_seq', src_associations_id_max());
 SELECT setval('dsc_files_id_seq', dsc_files_id_max());
 SELECT setval('binaries_id_seq', binaries_id_max());
 SELECT setval('bin_associations_id_seq', bin_associations_id_max());
+SELECT setval('section_id_seq', section_id_max());
+SELECT setval('priority_id_seq', priority_id_max());
+SELECT setval('override_type_id_seq', override_type_id_max());
 
 -- Vacuum the tables for efficency
 
@@ -67,6 +85,10 @@ VACUUM suite;
 VACUUM suite_architectures;
 VACUUM bin_associations;
 VACUUM src_associations;
+VACUUM section;
+VACUUM priority;
+VACUUM override_type;
+VACUUM override;
 
 -- FIXME: has to be a better way to do this
 GRANT ALL ON 
@@ -74,25 +96,11 @@ GRANT ALL ON
   bin_associations, bin_associations_id_seq, binaries,
   binaries_id_seq, component, component_id_seq, dsc_files,
   dsc_files_id_seq, files, files_id_seq, location, location_id_seq,
-  maintainer, maintainer_id_seq, source, source_id_seq,
-  src_associations, src_associations_id_seq, suite,
-  suite_architectures, suite_id_seq
-     TO troup;
-
--- Give write privileges to the associations tables for AJ for the purposes of `testing'
-GRANT ALL ON 
-  binaries, binaries_id_seq, 
-  bin_associations, bin_associations_id_seq,
-  source, source_id_seq, 
-  src_associations, src_associations_id_seq,
-  suite, suite_id_seq 
-     TO ajt;
-
--- RO access to AJ for all other tables
-GRANT SELECT ON 
-  architecture, archive, binaries, component,
-  dsc_files, files, location, maintainer, source, suite, suite_architectures
-     TO ajt;
+  maintainer, maintainer_id_seq, override, override_type,
+  override_type_id_seq, priority, priority_id_seq, section,
+  section_id_seq, source, source_id_seq, src_associations,
+  src_associations_id_seq, suite, suite_architectures, suite_id_seq
+     TO GROUP ftpmaster;
 
 -- Read only access to user 'nobody'
 GRANT SELECT ON 
@@ -100,7 +108,8 @@ GRANT SELECT ON
   bin_associations, bin_associations_id_seq, binaries,
   binaries_id_seq, component, component_id_seq, dsc_files,
   dsc_files_id_seq, files, files_id_seq, location, location_id_seq,
-  maintainer, maintainer_id_seq, source, source_id_seq,
-  src_associations, src_associations_id_seq, suite,
-  suite_architectures, suite_id_seq
+  maintainer, maintainer_id_seq, override, override_type,
+  override_type_id_seq, priority, priority_id_seq, section,
+  section_id_seq, source, source_id_seq, src_associations,
+  src_associations_id_seq, suite, suite_architectures, suite_id_seq
      TO PUBLIC;