26 lines
971 B
SQL
26 lines
971 B
SQL
-- Pinnacle Decision Portal PostgreSQL Schema
|
|
-- Automatically executed when Coolify provisions the PostgreSQL container
|
|
|
|
CREATE TABLE IF NOT EXISTS pinnacle_store (
|
|
id VARCHAR(50) PRIMARY KEY DEFAULT 'default',
|
|
data JSONB NOT NULL,
|
|
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_pinnacle_store_updated ON pinnacle_store(updated_at);
|
|
|
|
-- User Management & Access Control Table
|
|
CREATE TABLE IF NOT EXISTS pinnacle_users (
|
|
id SERIAL PRIMARY KEY,
|
|
username VARCHAR(50) UNIQUE NOT NULL,
|
|
password_hash VARCHAR(255) NOT NULL,
|
|
role VARCHAR(20) NOT NULL DEFAULT 'viewer',
|
|
full_name VARCHAR(100) NOT NULL,
|
|
email VARCHAR(100) NOT NULL,
|
|
dept VARCHAR(100) NOT NULL,
|
|
active BOOLEAN DEFAULT TRUE,
|
|
last_login TIMESTAMP WITH TIME ZONE,
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_pinnacle_users_username ON pinnacle_users(username);
|