Files
xiaoxia-saas/init-tables.sql
T
Xiaoxia AI e819f6f89b
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 24m57s
feat: 添加简化版认证API和配置文件
2026-06-20 11:29:46 +08:00

64 lines
2.1 KiB
SQL

CREATE TABLE IF NOT EXISTS users (
id VARCHAR(255) PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
username VARCHAR(255),
display_name VARCHAR(255) NOT NULL,
password_hash VARCHAR(255) NOT NULL,
email_verified BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS workspaces (
id VARCHAR(255) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
owner_user_id VARCHAR(255) NOT NULL REFERENCES users(id),
subscription_plan VARCHAR(50) DEFAULT 'free',
subscription_status VARCHAR(50) DEFAULT 'active',
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS projects (
id VARCHAR(255) PRIMARY KEY,
workspace_id VARCHAR(255) NOT NULL REFERENCES workspaces(id),
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS assets (
id VARCHAR(255) PRIMARY KEY,
workspace_id VARCHAR(255) NOT NULL,
project_id VARCHAR(255) NOT NULL,
library_id VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
storage_key VARCHAR(500) NOT NULL,
mime_type VARCHAR(100) NOT NULL,
file_size BIGINT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS generation_tasks (
id VARCHAR(255) PRIMARY KEY,
workspace_id VARCHAR(255) NOT NULL,
project_id VARCHAR(255) NOT NULL,
asset_library_id VARCHAR(255) NOT NULL,
status VARCHAR(50) NOT NULL DEFAULT 'pending',
progress FLOAT DEFAULT 0,
result_count INTEGER DEFAULT 0,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS generated_videos (
id VARCHAR(255) PRIMARY KEY,
workspace_id VARCHAR(255) NOT NULL,
project_id VARCHAR(255) NOT NULL,
generation_task_id VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
file_url VARCHAR(500) NOT NULL,
file_size BIGINT,
duration FLOAT,
width INTEGER,
height INTEGER,
fps FLOAT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);