diff options
author | Russ Allbery <eagle@eyrie.org> | 2014-07-11 19:26:46 -0700 |
---|---|---|
committer | Russ Allbery <rra@stanford.edu> | 2014-07-11 22:38:17 -0700 |
commit | f1b9938282d80179dc793aadeb123fb7cbed2e45 (patch) | |
tree | 364c834daed3daa1857feb41f8a8357ed29365e5 /perl/sql/Wallet-Schema-0.09-PostgreSQL.sql | |
parent | 02a629dcc319e418b2f4185acb5bfb22bc86b3eb (diff) |
Clean up foreign keys and indices for history tables
Previous versions had erroneous foreign key constraints between the
object history table and the objects table. Remove those constraints,
and an incorrect linkage in the schema for the ACL history, and add
indices for the object type, name, and ACL instead.
Change-Id: Ie0ff2448caa82c7a533a1b9ff5c13029bb6ae4ef
Reviewed-on: https://gerrit.stanford.edu/1526
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Diffstat (limited to 'perl/sql/Wallet-Schema-0.09-PostgreSQL.sql')
-rw-r--r-- | perl/sql/Wallet-Schema-0.09-PostgreSQL.sql | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/perl/sql/Wallet-Schema-0.09-PostgreSQL.sql b/perl/sql/Wallet-Schema-0.09-PostgreSQL.sql index a7b8881..38fc6ca 100644 --- a/perl/sql/Wallet-Schema-0.09-PostgreSQL.sql +++ b/perl/sql/Wallet-Schema-0.09-PostgreSQL.sql @@ -1,6 +1,6 @@ -- -- Created by SQL::Translator::Producer::PostgreSQL --- Created on Fri Jul 11 16:33:49 2014 +-- Created on Fri Jul 11 19:17:17 2014 -- -- -- Table: duo. @@ -27,6 +27,7 @@ CREATE TABLE "acl_history" ( "ah_on" timestamp NOT NULL, PRIMARY KEY ("ah_id") ); +CREATE INDEX "acl_history_idx_ah_acl" on "acl_history" ("ah_acl"); -- -- Table: acl_schemes. @@ -90,6 +91,26 @@ CREATE TABLE "keytab_sync" ( ); -- +-- Table: object_history. +-- +DROP TABLE "object_history" CASCADE; +CREATE TABLE "object_history" ( + "oh_id" serial NOT NULL, + "oh_type" character varying(16) NOT NULL, + "oh_name" character varying(255) NOT NULL, + "oh_action" character varying(16) NOT NULL, + "oh_field" character varying(16), + "oh_type_field" character varying(255), + "oh_old" character varying(255), + "oh_new" character varying(255), + "oh_by" character varying(255) NOT NULL, + "oh_from" character varying(255) NOT NULL, + "oh_on" timestamp NOT NULL, + PRIMARY KEY ("oh_id") +); +CREATE INDEX "object_history_idx_oh_type_oh_name" on "object_history" ("oh_type", "oh_name"); + +-- -- Table: sync_targets. -- DROP TABLE "sync_targets" CASCADE; @@ -156,26 +177,6 @@ CREATE INDEX "objects_idx_ob_acl_store" on "objects" ("ob_acl_store"); CREATE INDEX "objects_idx_ob_type" on "objects" ("ob_type"); -- --- Table: object_history. --- -DROP TABLE "object_history" CASCADE; -CREATE TABLE "object_history" ( - "oh_id" serial NOT NULL, - "oh_type" character varying(16) NOT NULL, - "oh_name" character varying(255) NOT NULL, - "oh_action" character varying(16) NOT NULL, - "oh_field" character varying(16), - "oh_type_field" character varying(255), - "oh_old" character varying(255), - "oh_new" character varying(255), - "oh_by" character varying(255) NOT NULL, - "oh_from" character varying(255) NOT NULL, - "oh_on" timestamp NOT NULL, - PRIMARY KEY ("oh_id") -); -CREATE INDEX "object_history_idx_oh_type_oh_name" on "object_history" ("oh_type", "oh_name"); - --- -- Foreign Key Definitions -- |