CCCPaste
$env:PGPASSWORD = "PASSWORD_POSTGRES_KAMU"
$PSQL = "C:\Program Files\PostgreSQL\16\bin\psql.exe"
$DB   = "appdb"   # ganti jika DB-mu beda

# Buat tabel master
& $PSQL -h localhost -p 5433 -U postgres -d $DB -v ON_ERROR_STOP=1 -c @"
CREATE SEQUENCE dt_print_job_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 10
  CACHE 1;

CREATE TABLE IF NOT EXISTS dt_print_job (
    print_job_id bigint NOT NULL DEFAULT nextval('dt_print_job_seq'),
    tenant_id bigint NOT NULL,
    print_type character varying(20) NOT NULL DEFAULT 'PRODUK', -- 'PRODUK', 'KOLI'
    product_code character varying(100), -- NULL for KOLI type
    product_name text, -- NULL for KOLI type
    barcode_koli character varying(200), -- For KOLI type
    qty_product integer, -- For KOLI type
    total_product integer, -- For KOLI type
    speed integer DEFAULT 3,
    darkness integer DEFAULT 10,
    qty integer NOT NULL DEFAULT 0,
    printer character varying(50),
    status character varying(50) NOT NULL DEFAULT 'PENDING', -- 'PENDING', 'PROCESSING', 'COMPLETED', 'FAILED', 'CANCELLED'
    file_path text,
    file_size bigint,
    request_id character varying(100) NOT NULL,
    batch_id character varying(100),
    error_message text,
    started_at character varying(14),
    completed_at character varying(14),
    wrap integer DEFAULT 15, -- Text wrap width for template
    line integer DEFAULT 2, -- Number of lines for barcode display in KOLI template
    version bigint,
    create_datetime character varying(14),
    create_user_id bigint,
    update_datetime character varying(14),
    update_user_id bigint,
    CONSTRAINT dt_print_job_pkey PRIMARY KEY (print_job_id)
) WITH ( OIDS = FALSE );
"@

Remove-Item Env:\PGPASSWORD