สมอง SML

คลังความรู้ / หน้าจอทีละจอ

#screens#admin

สร้าง ตรวจสอบ และโอนข้อมูลฐานข้อมูล

3 จอท้ายของไฟล์ ExtraAdminScreens.tsx ในพื้นที่ /admin (ศูนย์จัดการระบบ Admin: ผู้ใช้ ผู้ให้บริการ ฐานข้อมูล สิทธิ์เข้าฐาน (UsersScreen, ProvidersScreen, DatabasesScreen, DataAccessScreen, DataGroupsScreen, DatabaseInfoScreen)) ใช้ ProviderScopedScreen (เลือก Provider ก่อน) ไม่มีคีย์ลัดและไม่ใช้ ScreenHeader ของ ERP

วิธีเปิด

จอ path ชื่อเมนูใน /admin
CreateDatabaseScreen /admin/create-database สร้างฐานข้อมูลใหม่
CheckDatabaseScreen /admin/check-database ตรวจสอบฐานข้อมูล
TransferDataScreen /admin/transfer โอนข้อมูล

ทั้งสามอยู่ในกลุ่ม "Database Manage (Provider)" ของ adminMenu.ts (บรรทัด 88-137) เฉพาะผู้ดูแลระบบส่วนกลางเข้าได้

1) สร้างฐานข้อมูลใหม่ (CreateDatabaseScreen, :620-696)

หมายเหตุหัวจอ "สร้างและผูกฐานข้อมูลบริษัทใหม่เข้ากับระบบ SML Account"

  • ฟอร์ม "สร้าง/ลงทะเบียนฐานข้อมูลกิจการใหม่" มี 4 ช่อง (:672-685)
    • กลุ่มข้อมูล (Data Group) ว่าง = MAIN (:650)
    • รหัสฐานข้อมูล (Data Code) เช่น smldemo หรือ branch02
    • ชื่อบริษัท / ชื่อฐานข้อมูลที่แสดงตอนเข้าสู่ระบบ
    • ชื่อฐานข้อมูล PostgreSQL (Physical Database Name) ค่าเริ่มต้นในฟอร์มเป็น smldemo (:636)
  • ปุ่ม สร้างและผูกฐานข้อมูล ต้องกรอกรหัส ชื่อบริษัท และชื่อฐานข้อมูลครบ ไม่งั้นขึ้น "กรุณากรอกรหัสข้อมูล ชื่อบริษัท และชื่อฐานข้อมูลให้ครบ" (:641-644)
  • ส่ง POST /api/admin/databases พร้อม {provider, data_group, data_code, data_name, data_database_name} (:648-654) ซึ่งเป็น endpoint เดียวกับ "เชื่อมฐานข้อมูล" ใน ศูนย์จัดการระบบ Admin: ผู้ใช้ ผู้ให้บริการ ฐานข้อมูล สิทธิ์เข้าฐาน (UsersScreen, ProvidersScreen, DatabasesScreen, DataAccessScreen, DataGroupsScreen, DatabaseInfoScreen) ผลสำเร็จ: สร้างและผูกฐานข้อมูล "<รหัส> (<ชื่อ>) -> <ฐาน>" เรียบร้อย
  • ข้อควรระวัง: จากโค้ดฝั่งจอ ปุ่มนี้ทำเพียงลงทะเบียนแถวในรายการฐานข้อมูลของ provider ไม่มีขั้นตอน CREATE DATABASE หรือสร้างตารางเริ่มต้นในจอนี้ ชื่อ "สร้าง" จึงอาจทำให้เข้าใจว่าสร้างฐานจริง ให้ตรวจที่ API /api/admin/databases (นอกขอบเขตบันทึกนี้)

2) ตรวจสอบฐานข้อมูล (CheckDatabaseScreen, :700-810)

หมายเหตุ "ตรวจสอบโครงสร้างตารางและดัชนีของฐานข้อมูล PostgreSQL" คอมเมนต์ระบุว่าเทียบจากจอ SMLDatabaseVerify ของโปรแกรมเดิม

  • ดรอปดาวน์ "ฐานข้อมูลที่ตรวจสอบ:" แสดง รหัส — ชื่อ (ชื่อฐาน) ของ provider (:761-769)
  • เมื่อเลือกฐาน (และตอนเปิดจอ) จอเรียก POST /api/admin/main-query พร้อมชื่อฐานเป้าหมาย รัน SQL ที่อ่าน information_schema.columns ของ schema public นับจำนวนคอลัมน์ต่อตาราง (:728-743)
  • แสดง "พบ N ตารางในระบบ PostgreSQL", เวลา "ตรวจล่าสุด" และปุ่ม ตรวจสอบโครงสร้างทันที (:775-779)
  • ตารางผล: ชื่อตาราง (Table Name), จำนวนคอลัมน์, สถานะโครงสร้าง (แสดง "สมบูรณ์" :787-800)
  • ข้อควรระวัง: จอนี้ไม่ได้เทียบกับโครงสร้างมาตรฐาน ตามโค้ดมันแค่ลิสต์ตารางและนับคอลัมน์ในฐาน (ดู SQL :735-741) ป้าย "สมบูรณ์" ในคอลัมน์ "สถานะโครงสร้าง" ถูกใส่ตายตัวทุกแถว (:798-801) จึงยืนยันเพียงว่าตารางนั้นมีอยู่ ไม่ได้ตรวจดัชนีหรือชนิดข้อมูลแม้หมายเหตุหัวจอพูดถึงดัชนี การตรวจโครงสร้างจริงอยู่ที่เมนู ERP ตรวจสอบโครงสร้างฐานข้อมูล (menu_verify_database, รหัส 1100) ซึ่งทำงานผ่านจอ SQL utility

3) โอนข้อมูล (TransferDataScreen, :815-899)

หมายเหตุ "โอนข้อมูลหลัก (Master Data) และผังบัญชีระหว่างฐานข้อมูลในร..." (:819)

Popups

ไม่มี popup ใช้แถบข้อความ err / done เหนือฟอร์มเท่านั้น

ที่มาในโค้ด