Rename Java packages from com.cameleer3 to com.cameleer, module directories from cameleer3-* to cameleer-*, and all references throughout workflows, Dockerfiles, docs, migrations, and pom.xml. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
55 lines
2.3 KiB
SQL
55 lines
2.3 KiB
SQL
-- V3__runtime_management.sql
|
|
-- Runtime management: environments, apps, app versions, deployments
|
|
|
|
CREATE TABLE environments (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
slug VARCHAR(100) NOT NULL UNIQUE,
|
|
display_name VARCHAR(255) NOT NULL,
|
|
status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE',
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE TABLE apps (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
environment_id UUID NOT NULL REFERENCES environments(id) ON DELETE CASCADE,
|
|
slug VARCHAR(100) NOT NULL,
|
|
display_name VARCHAR(255) NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
UNIQUE(environment_id, slug)
|
|
);
|
|
CREATE INDEX idx_apps_environment_id ON apps(environment_id);
|
|
|
|
CREATE TABLE app_versions (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
app_id UUID NOT NULL REFERENCES apps(id) ON DELETE CASCADE,
|
|
version INTEGER NOT NULL,
|
|
jar_path VARCHAR(500) NOT NULL,
|
|
jar_checksum VARCHAR(64) NOT NULL,
|
|
jar_filename VARCHAR(255),
|
|
jar_size_bytes BIGINT,
|
|
uploaded_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
UNIQUE(app_id, version)
|
|
);
|
|
CREATE INDEX idx_app_versions_app_id ON app_versions(app_id);
|
|
|
|
CREATE TABLE deployments (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
app_id UUID NOT NULL REFERENCES apps(id) ON DELETE CASCADE,
|
|
app_version_id UUID NOT NULL REFERENCES app_versions(id),
|
|
environment_id UUID NOT NULL REFERENCES environments(id),
|
|
status VARCHAR(20) NOT NULL DEFAULT 'STARTING',
|
|
container_id VARCHAR(100),
|
|
container_name VARCHAR(255),
|
|
error_message TEXT,
|
|
deployed_at TIMESTAMPTZ,
|
|
stopped_at TIMESTAMPTZ,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
CREATE INDEX idx_deployments_app_id ON deployments(app_id);
|
|
CREATE INDEX idx_deployments_env_id ON deployments(environment_id);
|
|
|
|
-- Default environment (standalone mode always has at least one)
|
|
INSERT INTO environments (slug, display_name) VALUES ('default', 'Default');
|