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/base/postgres/02_log_migration.up.sql

36 lines
1.2 KiB

-- Copyright (c) HashiCorp, Inc.
-- SPDX-License-Identifier: BUSL-1.1
begin;
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
edition text not null, -- cannot declare FK since the table is truncated during runtime
create_time timestamp with time zone default current_timestamp,
entry text not null
);
comment on table log_migration is
'log_migration entries are logging output from database migrations';
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
where edition = new.edition;
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
version_column
before
insert on log_migration
for each row execute procedure log_migration_version();
commit;