-- ⚠️ PostgreSQL ไม่รองรับคำสั่ง AFTER ในการเพิ่ม Column
-- จำเป็นต้องสร้างตารางใหม่เพื่อจัดเรียงลำดับ Column

BEGIN; -- เริ่ม Transaction (ถ้า Error ข้อมูลจะไม่เสียหาย)

-- 1. เปลี่ยนชื่อตารางเดิมเป็น Backup
ALTER TABLE dbo.prjmst RENAME TO prjmst_backup;

-- 2. สร้างตารางใหม่โดยมี prjdoc อยู่ในตำแหน่งที่ต้องการ
CREATE TABLE dbo.prjmst
(
    prjseq integer NOT NULL,
    prjnam character varying(150) COLLATE pg_catalog."default" NOT NULL,
    prjusrseq integer,
    prjwntbdg numeric(14,2),
    prjacpbdg numeric(14,2),
    prjbdgcod character varying(3) COLLATE pg_catalog."default",
    prjcomstt character varying(3) COLLATE pg_catalog."default",
    
    -- ✅ แทรก Column ใหม่ตรงนี้
    prjdoc character varying(255) COLLATE pg_catalog."default",
    
    prjacpdtm character(12) COLLATE pg_catalog."default",
    
    CONSTRAINT prjmst_pkey PRIMARY KEY (prjseq, prjnam)
)
TABLESPACE pg_default;

-- 3. กำหนด Owner (ถ้าจำเป็น)
ALTER TABLE dbo.prjmst OWNER to postgres;

-- 4. ย้ายข้อมูลจากตาราง Backup มาใส่ตารางใหม่ (Map ข้อมูลให้ตรง Column)
INSERT INTO dbo.prjmst (
    prjseq, 
    prjnam, 
    prjusrseq, 
    prjwntbdg, 
    prjacpbdg, 
    prjbdgcod, 
    prjcomstt, 
    prjacpdtm
    -- prjdoc จะเป็น NULL อัตโนมัติสำหรับข้อมูลเก่า
)
SELECT 
    prjseq, 
    prjnam, 
    prjusrseq, 
    prjwntbdg, 
    prjacpbdg, 
    prjbdgcod, 
    prjcomstt, 
    prjacpdtm
FROM prjmst_backup;

-- 5. ยืนยันการทำงาน
COMMIT;

-- หมายเหตุ: หลังจากตรวจสอบข้อมูลแล้ว สามารถลบตาราง Backup ได้ด้วยคำสั่ง:
-- DROP TABLE dbo.prjmst_backup;