You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/internal/db/schema/migrations/oss/postgres/2/01_log.up.sql

58 lines
1.9 KiB

-- Copyright IBM Corp. 2020, 2026
-- SPDX-License-Identifier: BUSL-1.1
begin;
-- management of the log_migation table is moved into
-- the schema.Manager prior to migrations running
-- since it interacts with the boundary_schema_version table
-- log_migration entries represent logs generated during migrations
-- create table log_migration(
-- id bigint generated always as identity primary key,
-- migration_version bigint not null, -- cannot declare FK since the table is truncated during runtime
-- create_time wt_timestamp,
-- entry text not null
-- );
-- comment on table log_migration is
-- 'log_migration entries are logging output from databaes migrations';
--
-- -- log_migration triggers
-- create trigger
-- default_create_time_column
-- before
-- insert on log_migration
-- for each row execute procedure default_create_time();
--
-- create trigger
-- immutable_columns
-- before
-- update on log_migration
-- for each row execute procedure immutable_columns('id', 'migration_version', 'create_time', 'entry');
--
--
-- -- log_migration_version() defines a function to be used in a "before update"
-- -- trigger for log_migrations entries. Its intent: set the log_migration
-- -- version column to the current migration version.
-- create or replace function
-- log_migration_version()
-- returns trigger
-- as $$
-- declare current_version bigint;
-- begin
-- select max(version) from boundary_schema_version into current_version;
-- new.migration_version = current_version;
-- return new;
-- end;
-- $$ language plpgsql;
-- comment on function log_migration_version() is
-- 'log_migration_version will set the log_migration entries to the current migration version';
--
-- create trigger
-- migration_version_column
-- before
-- insert on log_migration
-- for each row execute procedure log_migration_version();
--
commit;