Files
Lannamokia_vhdmount/VHDSelectServer/init-db.sql
T
Lannamokia 803e6cdaee feat: 添加PostgreSQL数据库集成和机台管理功能
- 新增PostgreSQL数据库支持,包含内置和外部数据库两种部署模式
- 实现机台管理功能,包括保护状态控制和VHD关键词设置
- 添加用户认证系统,支持会话管理和权限控制
- 更新Docker配置,支持数据库持久化和健康检查
- 扩展API接口,提供完整的RESTful API文档
- 更新客户端代码以支持机台ID和保护检查功能
- 添加数据库初始化脚本和配置指南
2025-10-21 20:10:18 +08:00

48 lines
1.3 KiB
PL/PgSQL

-- VHD Select Server 数据库初始化脚本
-- 创建数据库(如果不存在)
-- CREATE DATABASE vhd_select;
-- 使用数据库
-- \c vhd_select;
-- 创建机台表
CREATE TABLE IF NOT EXISTS machines (
id SERIAL PRIMARY KEY,
machine_id VARCHAR(255) UNIQUE NOT NULL,
protected BOOLEAN DEFAULT FALSE,
vhd_keyword VARCHAR(255) DEFAULT 'SDEZ',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建更新时间触发器函数
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = CURRENT_TIMESTAMP;
RETURN NEW;
END;
$$ language 'plpgsql';
-- 为machines表创建更新时间触发器
DROP TRIGGER IF EXISTS update_machines_updated_at ON machines;
CREATE TRIGGER update_machines_updated_at
BEFORE UPDATE ON machines
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();
-- 插入一些示例数据
INSERT INTO machines (machine_id, protected, vhd_keyword)
VALUES
('MACHINE001', FALSE, 'SDEZ'),
('MACHINE002', FALSE, 'PROD'),
('MACHINE003', TRUE, 'TEST')
ON CONFLICT (machine_id) DO NOTHING;
-- 创建索引以提高查询性能
CREATE INDEX IF NOT EXISTS idx_machines_machine_id ON machines(machine_id);
CREATE INDEX IF NOT EXISTS idx_machines_protected ON machines(protected);
-- 显示表结构
\d machines;