57 lines
2.4 KiB
SQL
57 lines
2.4 KiB
SQL
-- สำหรับฐานข้อมูล HR (ตัวอย่าง)
|
|
CREATE DATABASE IF NOT EXISTS hr_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
USE hr_db;
|
|
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
username VARCHAR(50) NOT NULL UNIQUE,
|
|
password VARCHAR(255) NOT NULL, -- ควรเป็น hash ของรหัสผ่าน (เช่น password_hash)
|
|
name VARCHAR(100) NOT NULL
|
|
);
|
|
|
|
-- สร้างผู้ใช้เริ่มต้น (รหัสผ่านคือ 'password' hash ด้วย bcrypt)
|
|
INSERT IGNORE INTO users (username, password, name) VALUES ('admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'ผู้ดูแลระบบ');
|
|
|
|
-- สำหรับฐานข้อมูล hosxp_export_person (ประวัติการทำงาน)
|
|
CREATE DATABASE IF NOT EXISTS hosxp_export_person DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
USE hosxp_export_person;
|
|
|
|
CREATE TABLE IF NOT EXISTS system_admins (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
cid VARCHAR(13) NOT NULL UNIQUE,
|
|
name VARCHAR(100) NOT NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS general_settings (
|
|
setting_key VARCHAR(50) PRIMARY KEY,
|
|
setting_value TEXT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS export_profiles (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
profile_name VARCHAR(100) NOT NULL,
|
|
excel_columns VARCHAR(255) NOT NULL, -- e.g. "pid, hn"
|
|
sql_query TEXT NOT NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS export_logs (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
username VARCHAR(50) NOT NULL,
|
|
profile_id INT NULL,
|
|
file_name VARCHAR(255) NOT NULL,
|
|
total_rows INT NOT NULL,
|
|
found_rows INT NOT NULL,
|
|
upload_datetime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (profile_id) REFERENCES export_profiles(id) ON DELETE SET NULL
|
|
);
|
|
|
|
-- เพิ่มข้อมูลตัวอย่าง
|
|
INSERT IGNORE INTO export_profiles (id, profile_name, excel_columns, sql_query) VALUES (
|
|
1,
|
|
'ค้นหาด้วย PID เบื้องต้น',
|
|
'pid',
|
|
'SELECT p.person_id, p.patient_hn, p.cid, concat(p.pname, p.fname, '' '', p.lname) as nme, pt.birthday, pt.hometel, pt.mobile_phone_number FROM person p LEFT OUTER JOIN patient pt ON p.patient_hn = pt.hn WHERE p.person_id = :pid'
|
|
);
|