Create finance__journal_entry table CREATE TABLE finance__journal_entry ( id uuid PRIMARY KEY, code varchar(64) NOT NULL, type varchar(8) NOT NULL, partner_code varchar(64) NOT NULL, order_code varchar(64) NOT NULL, amount numeric(18,4) NOT NULL, currency_code varchar(3) NOT NULL, posted_at timestamptz NOT NULL, ext jsonb NOT NULL DEFAULT '{}'::jsonb, created_at timestamptz NOT NULL, created_by varchar(128) NOT NULL, updated_at timestamptz NOT NULL, updated_by varchar(128) NOT NULL, version bigint NOT NULL DEFAULT 0, CONSTRAINT finance__journal_entry_type_check CHECK (type IN ('AR', 'AP')) ); CREATE UNIQUE INDEX finance__journal_entry_code_uk ON finance__journal_entry (code); CREATE INDEX finance__journal_entry_partner_idx ON finance__journal_entry (partner_code); CREATE INDEX finance__journal_entry_order_idx ON finance__journal_entry (order_code); CREATE INDEX finance__journal_entry_type_idx ON finance__journal_entry (type); CREATE INDEX finance__journal_entry_posted_idx ON finance__journal_entry (posted_at); CREATE INDEX finance__journal_entry_ext_gin ON finance__journal_entry USING GIN (ext jsonb_path_ops); DROP TABLE finance__journal_entry;