]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#90] Added dhcp4_audit* tables
authorTomek Mrugalski <tomek@isc.org>
Tue, 8 Jun 2021 17:07:43 +0000 (19:07 +0200)
committerTomek Mrugalski <tomek@isc.org>
Thu, 28 Oct 2021 10:31:41 +0000 (12:31 +0200)
src/share/database/scripts/pgsql/upgrade_6.2_to_7.0.sh.in

index d3fdead8af0f70cc11d89dd33fca02718100cf1d..1373bd1ea1165f8878b0844a05d514e5c4ee1916 100644 (file)
@@ -631,6 +631,37 @@ CREATE TRIGGER dhcp4_options_server_modification_ts_update
   FOR EACH ROW EXECUTE PROCEDURE modification_ts_update();
 
 
+-- Now create two tables for audit revisions...
+CREATE TABLE dhcp4_audit_revision (
+  id SERIAL PRIMARY KEY NOT NULL,
+  modification_ts timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  log_message text DEFAULT NULL,
+  server_id BIGINT DEFAULT NULL
+);
+CREATE TRIGGER dhcp4_audit_revision_modification_ts_update
+  AFTER UPDATE ON dhcp4_audit_revision
+  FOR EACH ROW EXECUTE PROCEDURE modification_ts_update();
+
+
+-- ... and the DHCPv4 audit itself.
+CREATE TABLE dhcp4_audit (
+  id SERIAL UNIQUE NOT NULL,
+  object_type varchar(256) NOT NULL,
+  object_id BIGINT NOT NULL,
+  modification_type SMALLINT NOT NULL,
+  revision_id BIGINT NOT NULL,
+  CONSTRAINT fk_dhcp4_audit_modification_type FOREIGN KEY (modification_type) REFERENCES modification (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
+  CONSTRAINT fk_dhcp4_audit_revision FOREIGN KEY (revision_id) REFERENCES dhcp4_audit_revision (id) ON DELETE NO ACTION ON UPDATE CASCADE
+);
+CREATE TRIGGER dhcp4_audit_modification_ts_update
+  AFTER UPDATE ON dhcp6_audit
+  FOR EACH ROW EXECUTE PROCEDURE modification_ts_update();
+CREATE INDEX fk_dhcp4_audit_idx1 on dhcp4_audit (modification_type);
+CREATE INDEX fk_dhcp6_audit_idx2 on dhcp4_audit (revision_id);
+
+
+
+
 -- Update the schema version number
 UPDATE schema_version
     SET version = '7', minor = '0';