50 lines
1.3 KiB
SQL
50 lines
1.3 KiB
SQL
CREATE TABLE IF NOT EXISTS workspaces
|
|
(
|
|
id TEXT NOT NULL UNIQUE,
|
|
name TEXT NOT NULL UNIQUE,
|
|
container_id TEXT NOT NULL,
|
|
image_tag TEXT NOT NULL,
|
|
created_at TEXT NOT NULL,
|
|
|
|
CONSTRAINT pk_workspaces PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS templates
|
|
(
|
|
id TEXT NOT NULL UNIQUE,
|
|
name TEXT NOT NULL UNIQUE,
|
|
description TEXT NOT NULL,
|
|
created_on TEXT NOT NULL,
|
|
last_modified_on TEXT NOT NULL,
|
|
is_built INTEGER NOT NULL,
|
|
|
|
CONSTRAINT pk_templates PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS template_files
|
|
(
|
|
template_id TEXT NOT NULL,
|
|
file_path TEXT NOT NULL,
|
|
content BLOB NOT NULL,
|
|
|
|
CONSTRAINT pk_template_files PRIMARY KEY (template_id, file_path)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS template_images
|
|
(
|
|
template_id TEXT NOT NULL,
|
|
image_tag TEXT NOT NULL,
|
|
image_id TEXT NOT NULL,
|
|
|
|
CONSTRAINT pk_template_images PRIMARY KEY (template_id, image_tag, image_id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS port_mappings
|
|
(
|
|
workspace_id TEXT NOT NULL,
|
|
container_port INTEGER NOT NULL,
|
|
host_port INTEGER NOT NULL,
|
|
subdomain TEXT,
|
|
|
|
CONSTRAINT pk_port_mappings PRIMARY KEY (workspace_id, container_port, host_port)
|
|
) |