#2: add trading account type type and fix schema migrations machinery

This commit is contained in:
Dominik Pantůček 2025-04-20 17:11:49 +02:00
parent c04f934340
commit 111a8c9b63
2 changed files with 40 additions and 3 deletions

View file

@ -1,5 +1,5 @@
-- --
-- 0000-init.sql -- 0001-init.sql
-- --
-- Initial SQL schema construction as of 2025-04-20 (or so) -- Initial SQL schema construction as of 2025-04-20 (or so)
-- --
@ -273,7 +273,7 @@ BEGIN
CREATE OR REPLACE FUNCTION brmbar_privileged.has_exact_schema_version( CREATE OR REPLACE FUNCTION brmbar_privileged.has_exact_schema_version(
IN i_ver INTEGER IN i_ver INTEGER
) RETURNS INTEGER ) RETURNS BOOLEAN
VOLATILE NOT LEAKPROOF LANGUAGE plpgsql AS $x$ VOLATILE NOT LEAKPROOF LANGUAGE plpgsql AS $x$
DECLARE DECLARE
v_ver INTEGER; v_ver INTEGER;
@ -292,7 +292,7 @@ BEGIN
CREATE OR REPLACE FUNCTION brmbar_privileged.upgrade_schema_version_to( CREATE OR REPLACE FUNCTION brmbar_privileged.upgrade_schema_version_to(
IN i_ver INTEGER IN i_ver INTEGER
) RETURNS INTEGER ) RETURNS VOID
VOLATILE NOT LEAKPROOF LANGUAGE plpgsql AS $x$ VOLATILE NOT LEAKPROOF LANGUAGE plpgsql AS $x$
DECLARE DECLARE
v_ver INTEGER; v_ver INTEGER;

View file

@ -0,0 +1,37 @@
--
-- 0002-trading-accounts.sql
--
-- #2 - add trading accounts to account type type
--
-- ISC License
--
-- Copyright 2023-2025 Brmlab, z.s.
-- Dominik Pantůček <dominik.pantucek@trustica.cz>
--
-- Permission to use, copy, modify, and/or distribute this software
-- for any purpose with or without fee is hereby granted, provided
-- that the above copyright notice and this permission notice appear
-- in all copies.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
-- WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
-- WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
-- AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
-- CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
-- OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-- NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-- CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
DO $upgrade_block$
BEGIN
IF brmbar_privileged.has_exact_schema_version(1) THEN
ALTER TYPE public.account_type ADD VALUE 'trading';
PERFORM brmbar_privileged.upgrade_schema_version_to(2);
END IF;
END;
$upgrade_block$;