mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
chore: pluralize table names (#463)
This commit is contained in:
Generated
+97
-97
@@ -87,7 +87,7 @@ CREATE TABLE api_keys (
|
||||
devurl_token boolean DEFAULT false NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE file (
|
||||
CREATE TABLE files (
|
||||
hash character varying(64) NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
created_by text NOT NULL,
|
||||
@@ -122,7 +122,7 @@ CREATE TABLE organizations (
|
||||
workspace_auto_off boolean DEFAULT false NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE parameter_schema (
|
||||
CREATE TABLE parameter_schemas (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
job_id uuid NOT NULL,
|
||||
@@ -141,7 +141,7 @@ CREATE TABLE parameter_schema (
|
||||
validation_value_type character varying(64) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE parameter_value (
|
||||
CREATE TABLE parameter_values (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
@@ -153,17 +153,7 @@ CREATE TABLE parameter_value (
|
||||
destination_scheme parameter_destination_scheme NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE project (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
organization_id text NOT NULL,
|
||||
name character varying(64) NOT NULL,
|
||||
provisioner provisioner_type NOT NULL,
|
||||
active_version_id uuid NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE project_version (
|
||||
CREATE TABLE project_versions (
|
||||
id uuid NOT NULL,
|
||||
project_id uuid,
|
||||
organization_id text NOT NULL,
|
||||
@@ -174,7 +164,17 @@ CREATE TABLE project_version (
|
||||
job_id uuid NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE provisioner_daemon (
|
||||
CREATE TABLE projects (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
organization_id text NOT NULL,
|
||||
name character varying(64) NOT NULL,
|
||||
provisioner provisioner_type NOT NULL,
|
||||
active_version_id uuid NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE provisioner_daemons (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone,
|
||||
@@ -183,7 +183,16 @@ CREATE TABLE provisioner_daemon (
|
||||
provisioners provisioner_type[] NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE provisioner_job (
|
||||
CREATE TABLE provisioner_job_logs (
|
||||
id uuid NOT NULL,
|
||||
job_id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
source log_source NOT NULL,
|
||||
level log_level NOT NULL,
|
||||
output character varying(1024) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE provisioner_jobs (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
@@ -201,15 +210,6 @@ CREATE TABLE provisioner_job (
|
||||
worker_id uuid
|
||||
);
|
||||
|
||||
CREATE TABLE provisioner_job_log (
|
||||
id uuid NOT NULL,
|
||||
job_id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
source log_source NOT NULL,
|
||||
level log_level NOT NULL,
|
||||
output character varying(1024) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE users (
|
||||
id text NOT NULL,
|
||||
email text NOT NULL,
|
||||
@@ -232,16 +232,7 @@ CREATE TABLE users (
|
||||
shell text DEFAULT ''::text NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE workspace (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
owner_id text NOT NULL,
|
||||
project_id uuid NOT NULL,
|
||||
name character varying(64) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE workspace_agent (
|
||||
CREATE TABLE workspace_agents (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone,
|
||||
@@ -254,7 +245,7 @@ CREATE TABLE workspace_agent (
|
||||
resource_metadata jsonb
|
||||
);
|
||||
|
||||
CREATE TABLE workspace_build (
|
||||
CREATE TABLE workspace_builds (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
@@ -269,7 +260,7 @@ CREATE TABLE workspace_build (
|
||||
job_id uuid NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE workspace_resource (
|
||||
CREATE TABLE workspace_resources (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
job_id uuid NOT NULL,
|
||||
@@ -279,93 +270,102 @@ CREATE TABLE workspace_resource (
|
||||
agent_id uuid
|
||||
);
|
||||
|
||||
ALTER TABLE ONLY file
|
||||
ADD CONSTRAINT file_hash_key UNIQUE (hash);
|
||||
CREATE TABLE workspaces (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
owner_id text NOT NULL,
|
||||
project_id uuid NOT NULL,
|
||||
name character varying(64) NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE ONLY parameter_schema
|
||||
ADD CONSTRAINT parameter_schema_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY files
|
||||
ADD CONSTRAINT files_hash_key UNIQUE (hash);
|
||||
|
||||
ALTER TABLE ONLY parameter_schema
|
||||
ADD CONSTRAINT parameter_schema_job_id_name_key UNIQUE (job_id, name);
|
||||
ALTER TABLE ONLY parameter_schemas
|
||||
ADD CONSTRAINT parameter_schemas_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY parameter_value
|
||||
ADD CONSTRAINT parameter_value_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY parameter_schemas
|
||||
ADD CONSTRAINT parameter_schemas_job_id_name_key UNIQUE (job_id, name);
|
||||
|
||||
ALTER TABLE ONLY parameter_value
|
||||
ADD CONSTRAINT parameter_value_scope_id_name_key UNIQUE (scope_id, name);
|
||||
ALTER TABLE ONLY parameter_values
|
||||
ADD CONSTRAINT parameter_values_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY project
|
||||
ADD CONSTRAINT project_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY parameter_values
|
||||
ADD CONSTRAINT parameter_values_scope_id_name_key UNIQUE (scope_id, name);
|
||||
|
||||
ALTER TABLE ONLY project
|
||||
ADD CONSTRAINT project_organization_id_name_key UNIQUE (organization_id, name);
|
||||
ALTER TABLE ONLY project_versions
|
||||
ADD CONSTRAINT project_versions_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY project_version
|
||||
ADD CONSTRAINT project_version_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY project_versions
|
||||
ADD CONSTRAINT project_versions_project_id_name_key UNIQUE (project_id, name);
|
||||
|
||||
ALTER TABLE ONLY project_version
|
||||
ADD CONSTRAINT project_version_project_id_name_key UNIQUE (project_id, name);
|
||||
ALTER TABLE ONLY projects
|
||||
ADD CONSTRAINT projects_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY provisioner_daemon
|
||||
ADD CONSTRAINT provisioner_daemon_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY projects
|
||||
ADD CONSTRAINT projects_organization_id_name_key UNIQUE (organization_id, name);
|
||||
|
||||
ALTER TABLE ONLY provisioner_daemon
|
||||
ADD CONSTRAINT provisioner_daemon_name_key UNIQUE (name);
|
||||
ALTER TABLE ONLY provisioner_daemons
|
||||
ADD CONSTRAINT provisioner_daemons_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY provisioner_job
|
||||
ADD CONSTRAINT provisioner_job_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY provisioner_daemons
|
||||
ADD CONSTRAINT provisioner_daemons_name_key UNIQUE (name);
|
||||
|
||||
ALTER TABLE ONLY provisioner_job_log
|
||||
ADD CONSTRAINT provisioner_job_log_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY provisioner_job_logs
|
||||
ADD CONSTRAINT provisioner_job_logs_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY workspace_agent
|
||||
ADD CONSTRAINT workspace_agent_auth_token_key UNIQUE (auth_token);
|
||||
ALTER TABLE ONLY provisioner_jobs
|
||||
ADD CONSTRAINT provisioner_jobs_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY workspace_agent
|
||||
ADD CONSTRAINT workspace_agent_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY workspace_agents
|
||||
ADD CONSTRAINT workspace_agents_auth_token_key UNIQUE (auth_token);
|
||||
|
||||
ALTER TABLE ONLY workspace_build
|
||||
ADD CONSTRAINT workspace_build_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY workspace_agents
|
||||
ADD CONSTRAINT workspace_agents_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY workspace_build
|
||||
ADD CONSTRAINT workspace_build_job_id_key UNIQUE (job_id);
|
||||
ALTER TABLE ONLY workspace_builds
|
||||
ADD CONSTRAINT workspace_builds_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY workspace_build
|
||||
ADD CONSTRAINT workspace_build_workspace_id_name_key UNIQUE (workspace_id, name);
|
||||
ALTER TABLE ONLY workspace_builds
|
||||
ADD CONSTRAINT workspace_builds_job_id_key UNIQUE (job_id);
|
||||
|
||||
ALTER TABLE ONLY workspace
|
||||
ADD CONSTRAINT workspace_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY workspace_builds
|
||||
ADD CONSTRAINT workspace_builds_workspace_id_name_key UNIQUE (workspace_id, name);
|
||||
|
||||
ALTER TABLE ONLY workspace
|
||||
ADD CONSTRAINT workspace_owner_id_name_key UNIQUE (owner_id, name);
|
||||
ALTER TABLE ONLY workspace_resources
|
||||
ADD CONSTRAINT workspace_resources_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY workspace_resource
|
||||
ADD CONSTRAINT workspace_resource_id_key UNIQUE (id);
|
||||
ALTER TABLE ONLY workspaces
|
||||
ADD CONSTRAINT workspaces_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY parameter_schema
|
||||
ADD CONSTRAINT parameter_schema_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_job(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY workspaces
|
||||
ADD CONSTRAINT workspaces_owner_id_name_key UNIQUE (owner_id, name);
|
||||
|
||||
ALTER TABLE ONLY project_version
|
||||
ADD CONSTRAINT project_version_project_id_fkey FOREIGN KEY (project_id) REFERENCES project(id);
|
||||
ALTER TABLE ONLY parameter_schemas
|
||||
ADD CONSTRAINT parameter_schemas_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_jobs(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY provisioner_job_log
|
||||
ADD CONSTRAINT provisioner_job_log_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_job(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY project_versions
|
||||
ADD CONSTRAINT project_versions_project_id_fkey FOREIGN KEY (project_id) REFERENCES projects(id);
|
||||
|
||||
ALTER TABLE ONLY workspace_agent
|
||||
ADD CONSTRAINT workspace_agent_resource_id_fkey FOREIGN KEY (resource_id) REFERENCES workspace_resource(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY provisioner_job_logs
|
||||
ADD CONSTRAINT provisioner_job_logs_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_jobs(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY workspace_build
|
||||
ADD CONSTRAINT workspace_build_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_job(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY workspace_agents
|
||||
ADD CONSTRAINT workspace_agents_resource_id_fkey FOREIGN KEY (resource_id) REFERENCES workspace_resources(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY workspace_build
|
||||
ADD CONSTRAINT workspace_build_project_version_id_fkey FOREIGN KEY (project_version_id) REFERENCES project_version(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY workspace_builds
|
||||
ADD CONSTRAINT workspace_builds_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_jobs(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY workspace_build
|
||||
ADD CONSTRAINT workspace_build_workspace_id_fkey FOREIGN KEY (workspace_id) REFERENCES workspace(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY workspace_builds
|
||||
ADD CONSTRAINT workspace_builds_project_version_id_fkey FOREIGN KEY (project_version_id) REFERENCES project_versions(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY workspace
|
||||
ADD CONSTRAINT workspace_project_id_fkey FOREIGN KEY (project_id) REFERENCES project(id);
|
||||
ALTER TABLE ONLY workspace_builds
|
||||
ADD CONSTRAINT workspace_builds_workspace_id_fkey FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY workspace_resource
|
||||
ADD CONSTRAINT workspace_resource_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_job(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY workspace_resources
|
||||
ADD CONSTRAINT workspace_resources_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_jobs(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY workspaces
|
||||
ADD CONSTRAINT workspaces_project_id_fkey FOREIGN KEY (project_id) REFERENCES projects(id);
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ func main() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
err = database.Migrate(db)
|
||||
err = database.MigrateUp(db)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
+39
-5
@@ -14,27 +14,61 @@ import (
|
||||
//go:embed migrations/*.sql
|
||||
var migrations embed.FS
|
||||
|
||||
// Migrate runs SQL migrations to ensure the database schema is up-to-date.
|
||||
func Migrate(db *sql.DB) error {
|
||||
func migrateSetup(db *sql.DB) (*migrate.Migrate, error) {
|
||||
sourceDriver, err := iofs.New(migrations, "migrations")
|
||||
if err != nil {
|
||||
return xerrors.Errorf("create iofs: %w", err)
|
||||
return nil, xerrors.Errorf("create iofs: %w", err)
|
||||
}
|
||||
|
||||
dbDriver, err := postgres.WithInstance(db, &postgres.Config{})
|
||||
if err != nil {
|
||||
return xerrors.Errorf("wrap postgres connection: %w", err)
|
||||
return nil, xerrors.Errorf("wrap postgres connection: %w", err)
|
||||
}
|
||||
|
||||
m, err := migrate.NewWithInstance("", sourceDriver, "", dbDriver)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("migrate: %w", err)
|
||||
return nil, xerrors.Errorf("new migrate instance: %w", err)
|
||||
}
|
||||
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// MigrateUp runs SQL migrations to ensure the database schema is up-to-date.
|
||||
func MigrateUp(db *sql.DB) error {
|
||||
m, err := migrateSetup(db)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("migrate setup: %w", err)
|
||||
}
|
||||
|
||||
err = m.Up()
|
||||
if err != nil {
|
||||
if errors.Is(err, migrate.ErrNoChange) {
|
||||
// It's OK if no changes happened!
|
||||
return nil
|
||||
}
|
||||
|
||||
return xerrors.Errorf("up: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MigrateDown runs all down SQL migrations.
|
||||
func MigrateDown(db *sql.DB) error {
|
||||
m, err := migrateSetup(db)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("migrate setup: %w", err)
|
||||
}
|
||||
|
||||
err = m.Down()
|
||||
if err != nil {
|
||||
if errors.Is(err, migrate.ErrNoChange) {
|
||||
// It's OK if no changes happened!
|
||||
return nil
|
||||
}
|
||||
|
||||
return xerrors.Errorf("down: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
+37
-13
@@ -27,27 +27,51 @@ func TestMigrate(t *testing.T) {
|
||||
|
||||
t.Run("Once", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
connection, closeFn, err := postgres.Open()
|
||||
require.NoError(t, err)
|
||||
defer closeFn()
|
||||
db, err := sql.Open("postgres", connection)
|
||||
require.NoError(t, err)
|
||||
defer db.Close()
|
||||
err = database.Migrate(db)
|
||||
|
||||
db := testSQLDB(t)
|
||||
|
||||
err := database.MigrateUp(db)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("Twice", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
connection, closeFn, err := postgres.Open()
|
||||
|
||||
db := testSQLDB(t)
|
||||
|
||||
err := database.MigrateUp(db)
|
||||
require.NoError(t, err)
|
||||
defer closeFn()
|
||||
db, err := sql.Open("postgres", connection)
|
||||
|
||||
err = database.MigrateUp(db)
|
||||
require.NoError(t, err)
|
||||
defer db.Close()
|
||||
err = database.Migrate(db)
|
||||
})
|
||||
|
||||
t.Run("UpDownUp", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
db := testSQLDB(t)
|
||||
|
||||
err := database.MigrateUp(db)
|
||||
require.NoError(t, err)
|
||||
err = database.Migrate(db)
|
||||
|
||||
err = database.MigrateDown(db)
|
||||
require.NoError(t, err)
|
||||
|
||||
err = database.MigrateUp(db)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
func testSQLDB(t testing.TB) *sql.DB {
|
||||
t.Helper()
|
||||
|
||||
connection, closeFn, err := postgres.Open()
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(closeFn)
|
||||
|
||||
db, err := sql.Open("postgres", connection)
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { _ = db.Close() })
|
||||
|
||||
return db
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
DROP TABLE project_versions;
|
||||
|
||||
DROP TABLE projects;
|
||||
DROP TYPE provisioner_type;
|
||||
|
||||
DROP TABLE files;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- Store arbitrary data like project source code or avatars.
|
||||
CREATE TABLE file (
|
||||
CREATE TABLE files (
|
||||
hash varchar(64) NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
created_by text NOT NULL,
|
||||
@@ -11,7 +11,7 @@ CREATE TYPE provisioner_type AS ENUM ('echo', 'terraform');
|
||||
|
||||
-- Project defines infrastructure that your software project
|
||||
-- requires for development.
|
||||
CREATE TABLE project (
|
||||
CREATE TABLE projects (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz NOT NULL,
|
||||
@@ -30,10 +30,10 @@ CREATE TABLE project (
|
||||
-- Project Versions store historical project data. When a Project Version is imported,
|
||||
-- an "import" job is queued to parse parameters. A Project Version
|
||||
-- can only be used if the import job succeeds.
|
||||
CREATE TABLE project_version (
|
||||
CREATE TABLE project_versions (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
-- This should be indexed.
|
||||
project_id uuid REFERENCES project (id),
|
||||
project_id uuid REFERENCES projects (id),
|
||||
organization_id text NOT NULL,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz NOT NULL,
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
DROP TYPE workspace_transition;
|
||||
DROP TABLE workspaces
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
CREATE TABLE workspace (
|
||||
CREATE TABLE workspaces (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz NOT NULL,
|
||||
owner_id text NOT NULL,
|
||||
project_id uuid NOT NULL REFERENCES project (id),
|
||||
project_id uuid NOT NULL REFERENCES projects (id),
|
||||
name varchar(64) NOT NULL,
|
||||
UNIQUE(owner_id, name)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
DROP TABLE workspace_builds;
|
||||
|
||||
DROP TABLE parameter_values;
|
||||
DROP TABLE parameter_schemas;
|
||||
DROP TYPE parameter_destination_scheme;
|
||||
DROP TYPE parameter_source_scheme;
|
||||
DROP TYPE parameter_type_system;
|
||||
DROP TYPE parameter_scope;
|
||||
|
||||
DROP TABLE workspace_agents;
|
||||
DROP TABLE workspace_resources;
|
||||
|
||||
DROP TABLE provisioner_job_logs;
|
||||
DROP TYPE log_source;
|
||||
DROP TYPE log_level;
|
||||
|
||||
DROP TABLE provisioner_jobs;
|
||||
DROP TYPE provisioner_storage_method;
|
||||
DROP TYPE provisioner_job_type;
|
||||
|
||||
DROP TABLE provisioner_daemons;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CREATE TABLE IF NOT EXISTS provisioner_daemon (
|
||||
CREATE TABLE IF NOT EXISTS provisioner_daemons (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz,
|
||||
@@ -16,7 +16,7 @@ CREATE TYPE provisioner_job_type AS ENUM (
|
||||
|
||||
CREATE TYPE provisioner_storage_method AS ENUM ('file');
|
||||
|
||||
CREATE TABLE IF NOT EXISTS provisioner_job (
|
||||
CREATE TABLE IF NOT EXISTS provisioner_jobs (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz NOT NULL,
|
||||
@@ -47,30 +47,30 @@ CREATE TYPE log_source AS ENUM (
|
||||
'provisioner'
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS provisioner_job_log (
|
||||
CREATE TABLE IF NOT EXISTS provisioner_job_logs (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
job_id uuid NOT NULL REFERENCES provisioner_job (id) ON DELETE CASCADE,
|
||||
job_id uuid NOT NULL REFERENCES provisioner_jobs (id) ON DELETE CASCADE,
|
||||
created_at timestamptz NOT NULL,
|
||||
source log_source NOT NULL,
|
||||
level log_level NOT NULL,
|
||||
output varchar(1024) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE workspace_resource (
|
||||
CREATE TABLE workspace_resources (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
job_id uuid NOT NULL REFERENCES provisioner_job(id) ON DELETE CASCADE,
|
||||
job_id uuid NOT NULL REFERENCES provisioner_jobs (id) ON DELETE CASCADE,
|
||||
transition workspace_transition NOT NULL,
|
||||
type varchar(256) NOT NULL,
|
||||
name varchar(64) NOT NULL,
|
||||
agent_id uuid
|
||||
);
|
||||
|
||||
CREATE TABLE workspace_agent (
|
||||
CREATE TABLE workspace_agents (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz,
|
||||
resource_id uuid NOT NULL REFERENCES workspace_resource (id) ON DELETE CASCADE,
|
||||
resource_id uuid NOT NULL REFERENCES workspace_resources (id) ON DELETE CASCADE,
|
||||
auth_token uuid NOT NULL UNIQUE,
|
||||
auth_instance_id varchar(64),
|
||||
environment_variables jsonb,
|
||||
@@ -105,10 +105,10 @@ CREATE TYPE parameter_destination_scheme AS ENUM('none', 'environment_variable',
|
||||
-- Parameter types, description, and validation will produce
|
||||
-- a UI for users to enter values.
|
||||
-- Needs to be made consistent with the examples below.
|
||||
CREATE TABLE parameter_schema (
|
||||
CREATE TABLE parameter_schemas (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
job_id uuid NOT NULL REFERENCES provisioner_job(id) ON DELETE CASCADE,
|
||||
job_id uuid NOT NULL REFERENCES provisioner_jobs (id) ON DELETE CASCADE,
|
||||
name varchar(64) NOT NULL,
|
||||
description varchar(8192) NOT NULL DEFAULT '',
|
||||
default_source_scheme parameter_source_scheme,
|
||||
@@ -130,7 +130,7 @@ CREATE TABLE parameter_schema (
|
||||
);
|
||||
|
||||
-- Parameters are provided to jobs for provisioning and to workspaces.
|
||||
CREATE TABLE parameter_value (
|
||||
CREATE TABLE parameter_values (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz NOT NULL,
|
||||
@@ -144,12 +144,12 @@ CREATE TABLE parameter_value (
|
||||
UNIQUE(scope_id, name)
|
||||
);
|
||||
|
||||
CREATE TABLE workspace_build (
|
||||
CREATE TABLE workspace_builds (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
updated_at timestamptz NOT NULL,
|
||||
workspace_id uuid NOT NULL REFERENCES workspace (id) ON DELETE CASCADE,
|
||||
project_version_id uuid NOT NULL REFERENCES project_version (id) ON DELETE CASCADE,
|
||||
workspace_id uuid NOT NULL REFERENCES workspaces (id) ON DELETE CASCADE,
|
||||
project_version_id uuid NOT NULL REFERENCES project_versions (id) ON DELETE CASCADE,
|
||||
name varchar(64) NOT NULL,
|
||||
before_id uuid,
|
||||
after_id uuid,
|
||||
@@ -158,6 +158,6 @@ CREATE TABLE workspace_build (
|
||||
-- State stored by the provisioner
|
||||
provisioner_state bytea,
|
||||
-- Job ID of the action
|
||||
job_id uuid NOT NULL UNIQUE REFERENCES provisioner_job(id) ON DELETE CASCADE,
|
||||
job_id uuid NOT NULL UNIQUE REFERENCES provisioner_jobs (id) ON DELETE CASCADE,
|
||||
UNIQUE(workspace_id, name)
|
||||
);
|
||||
);
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
@@ -6,6 +9,6 @@ if [ -z "$1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
migrate create -ext sql -dir . -seq $1
|
||||
migrate create -ext sql -dir . -seq "$1"
|
||||
|
||||
echo "Run \"make gen\" to generate models."
|
||||
|
||||
+50
-50
@@ -12,7 +12,7 @@
|
||||
-- https://www.postgresql.org/docs/9.5/sql-select.html#SQL-FOR-UPDATE-SHARE
|
||||
-- name: AcquireProvisionerJob :one
|
||||
UPDATE
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
SET
|
||||
started_at = @started_at,
|
||||
updated_at = @started_at,
|
||||
@@ -22,7 +22,7 @@ WHERE
|
||||
SELECT
|
||||
id
|
||||
FROM
|
||||
provisioner_job AS nested
|
||||
provisioner_jobs AS nested
|
||||
WHERE
|
||||
nested.started_at IS NULL
|
||||
AND nested.cancelled_at IS NULL
|
||||
@@ -38,7 +38,7 @@ WHERE
|
||||
|
||||
-- name: DeleteParameterValueByID :exec
|
||||
DELETE FROM
|
||||
parameter_value
|
||||
parameter_values
|
||||
WHERE
|
||||
id = $1;
|
||||
|
||||
@@ -56,7 +56,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
file
|
||||
files
|
||||
WHERE
|
||||
hash = $1
|
||||
LIMIT
|
||||
@@ -137,7 +137,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
parameter_value
|
||||
parameter_values
|
||||
WHERE
|
||||
scope = $1
|
||||
AND scope_id = $2;
|
||||
@@ -146,7 +146,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
parameter_value
|
||||
parameter_values
|
||||
WHERE
|
||||
scope = $1
|
||||
AND scope_id = $2
|
||||
@@ -158,7 +158,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
project
|
||||
projects
|
||||
WHERE
|
||||
id = $1
|
||||
LIMIT
|
||||
@@ -168,7 +168,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
project
|
||||
projects
|
||||
WHERE
|
||||
organization_id = @organization_id
|
||||
AND LOWER(name) = LOWER(@name)
|
||||
@@ -179,7 +179,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
project
|
||||
projects
|
||||
WHERE
|
||||
organization_id = $1;
|
||||
|
||||
@@ -187,7 +187,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
parameter_schema
|
||||
parameter_schemas
|
||||
WHERE
|
||||
job_id = $1;
|
||||
|
||||
@@ -195,7 +195,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
project_version
|
||||
project_versions
|
||||
WHERE
|
||||
project_id = $1 :: uuid;
|
||||
|
||||
@@ -203,7 +203,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
project_version
|
||||
project_versions
|
||||
WHERE
|
||||
project_id = $1
|
||||
AND name = $2;
|
||||
@@ -212,7 +212,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
project_version
|
||||
project_versions
|
||||
WHERE
|
||||
id = $1;
|
||||
|
||||
@@ -220,7 +220,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
provisioner_job_log
|
||||
provisioner_job_logs
|
||||
WHERE
|
||||
job_id = @job_id
|
||||
AND (
|
||||
@@ -234,7 +234,7 @@ ORDER BY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
provisioner_daemon
|
||||
provisioner_daemons
|
||||
WHERE
|
||||
id = $1;
|
||||
|
||||
@@ -242,13 +242,13 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
provisioner_daemon;
|
||||
provisioner_daemons;
|
||||
|
||||
-- name: GetWorkspaceAgentByAuthToken :one
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
WHERE
|
||||
auth_token = $1;
|
||||
|
||||
@@ -256,7 +256,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
WHERE
|
||||
auth_instance_id = @auth_instance_id :: text
|
||||
ORDER BY
|
||||
@@ -266,7 +266,7 @@ ORDER BY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
WHERE
|
||||
id = $1;
|
||||
|
||||
@@ -274,7 +274,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
WHERE
|
||||
id = ANY(@ids :: uuid [ ]);
|
||||
|
||||
@@ -282,7 +282,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
id = $1
|
||||
LIMIT
|
||||
@@ -292,7 +292,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
owner_id = $1;
|
||||
|
||||
@@ -300,7 +300,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
owner_id = @owner_id
|
||||
AND LOWER(name) = LOWER(@name);
|
||||
@@ -310,7 +310,7 @@ SELECT
|
||||
project_id,
|
||||
COUNT(DISTINCT owner_id)
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
project_id = ANY(@ids :: uuid [ ])
|
||||
GROUP BY
|
||||
@@ -321,7 +321,7 @@ GROUP BY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
id = $1
|
||||
LIMIT
|
||||
@@ -331,7 +331,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
job_id = $1
|
||||
LIMIT
|
||||
@@ -341,7 +341,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
workspace_id = $1
|
||||
AND name = $2;
|
||||
@@ -350,7 +350,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
workspace_id = $1;
|
||||
|
||||
@@ -358,7 +358,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
workspace_id = $1
|
||||
AND after_id IS NULL
|
||||
@@ -369,7 +369,7 @@ LIMIT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_resource
|
||||
workspace_resources
|
||||
WHERE
|
||||
id = $1;
|
||||
|
||||
@@ -377,7 +377,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_resource
|
||||
workspace_resources
|
||||
WHERE
|
||||
job_id = $1;
|
||||
|
||||
@@ -385,7 +385,7 @@ WHERE
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
WHERE
|
||||
resource_id = $1;
|
||||
|
||||
@@ -429,13 +429,13 @@ VALUES
|
||||
|
||||
-- name: InsertFile :one
|
||||
INSERT INTO
|
||||
file (hash, created_at, created_by, mimetype, data)
|
||||
files (hash, created_at, created_by, mimetype, data)
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5) RETURNING *;
|
||||
|
||||
-- name: InsertProvisionerJobLogs :many
|
||||
INSERT INTO
|
||||
provisioner_job_log
|
||||
provisioner_job_logs
|
||||
SELECT
|
||||
unnest(@id :: uuid [ ]) AS id,
|
||||
@job_id :: uuid AS job_id,
|
||||
@@ -464,7 +464,7 @@ VALUES
|
||||
|
||||
-- name: InsertParameterValue :one
|
||||
INSERT INTO
|
||||
parameter_value (
|
||||
parameter_values (
|
||||
id,
|
||||
name,
|
||||
created_at,
|
||||
@@ -480,7 +480,7 @@ VALUES
|
||||
|
||||
-- name: InsertProject :one
|
||||
INSERT INTO
|
||||
project (
|
||||
projects (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -494,7 +494,7 @@ VALUES
|
||||
|
||||
-- name: InsertWorkspaceResource :one
|
||||
INSERT INTO
|
||||
workspace_resource (
|
||||
workspace_resources (
|
||||
id,
|
||||
created_at,
|
||||
job_id,
|
||||
@@ -508,7 +508,7 @@ VALUES
|
||||
|
||||
-- name: InsertProjectVersion :one
|
||||
INSERT INTO
|
||||
project_version (
|
||||
project_versions (
|
||||
id,
|
||||
project_id,
|
||||
organization_id,
|
||||
@@ -523,7 +523,7 @@ VALUES
|
||||
|
||||
-- name: InsertParameterSchema :one
|
||||
INSERT INTO
|
||||
parameter_schema (
|
||||
parameter_schemas (
|
||||
id,
|
||||
created_at,
|
||||
job_id,
|
||||
@@ -563,13 +563,13 @@ VALUES
|
||||
|
||||
-- name: InsertProvisionerDaemon :one
|
||||
INSERT INTO
|
||||
provisioner_daemon (id, created_at, organization_id, name, provisioners)
|
||||
provisioner_daemons (id, created_at, organization_id, name, provisioners)
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5) RETURNING *;
|
||||
|
||||
-- name: InsertProvisionerJob :one
|
||||
INSERT INTO
|
||||
provisioner_job (
|
||||
provisioner_jobs (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -602,7 +602,7 @@ VALUES
|
||||
|
||||
-- name: InsertWorkspace :one
|
||||
INSERT INTO
|
||||
workspace (
|
||||
workspaces (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -615,7 +615,7 @@ VALUES
|
||||
|
||||
-- name: InsertWorkspaceAgent :one
|
||||
INSERT INTO
|
||||
workspace_agent (
|
||||
workspace_agents (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -632,7 +632,7 @@ VALUES
|
||||
|
||||
-- name: InsertWorkspaceBuild :one
|
||||
INSERT INTO
|
||||
workspace_build (
|
||||
workspace_builds (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -662,7 +662,7 @@ WHERE
|
||||
|
||||
-- name: UpdateProjectVersionByID :exec
|
||||
UPDATE
|
||||
project_version
|
||||
project_versions
|
||||
SET
|
||||
project_id = $2,
|
||||
updated_at = $3
|
||||
@@ -671,7 +671,7 @@ WHERE
|
||||
|
||||
-- name: UpdateProvisionerDaemonByID :exec
|
||||
UPDATE
|
||||
provisioner_daemon
|
||||
provisioner_daemons
|
||||
SET
|
||||
updated_at = $2,
|
||||
provisioners = $3
|
||||
@@ -680,7 +680,7 @@ WHERE
|
||||
|
||||
-- name: UpdateProvisionerJobByID :exec
|
||||
UPDATE
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
SET
|
||||
updated_at = $2
|
||||
WHERE
|
||||
@@ -688,7 +688,7 @@ WHERE
|
||||
|
||||
-- name: UpdateProvisionerJobWithCompleteByID :exec
|
||||
UPDATE
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
SET
|
||||
updated_at = $2,
|
||||
completed_at = $3,
|
||||
@@ -699,7 +699,7 @@ WHERE
|
||||
|
||||
-- name: UpdateWorkspaceAgentByID :exec
|
||||
UPDATE
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
SET
|
||||
updated_at = $2
|
||||
WHERE
|
||||
@@ -707,7 +707,7 @@ WHERE
|
||||
|
||||
-- name: UpdateWorkspaceBuildByID :exec
|
||||
UPDATE
|
||||
workspace_build
|
||||
workspace_builds
|
||||
SET
|
||||
updated_at = $2,
|
||||
after_id = $3,
|
||||
|
||||
+50
-50
@@ -16,7 +16,7 @@ import (
|
||||
|
||||
const acquireProvisionerJob = `-- name: AcquireProvisionerJob :one
|
||||
UPDATE
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
SET
|
||||
started_at = $1,
|
||||
updated_at = $1,
|
||||
@@ -26,7 +26,7 @@ WHERE
|
||||
SELECT
|
||||
id
|
||||
FROM
|
||||
provisioner_job AS nested
|
||||
provisioner_jobs AS nested
|
||||
WHERE
|
||||
nested.started_at IS NULL
|
||||
AND nested.cancelled_at IS NULL
|
||||
@@ -78,7 +78,7 @@ func (q *sqlQuerier) AcquireProvisionerJob(ctx context.Context, arg AcquireProvi
|
||||
|
||||
const deleteParameterValueByID = `-- name: DeleteParameterValueByID :exec
|
||||
DELETE FROM
|
||||
parameter_value
|
||||
parameter_values
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
@@ -126,7 +126,7 @@ const getFileByHash = `-- name: GetFileByHash :one
|
||||
SELECT
|
||||
hash, created_at, created_by, mimetype, data
|
||||
FROM
|
||||
file
|
||||
files
|
||||
WHERE
|
||||
hash = $1
|
||||
LIMIT
|
||||
@@ -286,7 +286,7 @@ const getParameterSchemasByJobID = `-- name: GetParameterSchemasByJobID :many
|
||||
SELECT
|
||||
id, created_at, job_id, name, description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type
|
||||
FROM
|
||||
parameter_schema
|
||||
parameter_schemas
|
||||
WHERE
|
||||
job_id = $1
|
||||
`
|
||||
@@ -335,7 +335,7 @@ const getParameterValueByScopeAndName = `-- name: GetParameterValueByScopeAndNam
|
||||
SELECT
|
||||
id, created_at, updated_at, scope, scope_id, name, source_scheme, source_value, destination_scheme
|
||||
FROM
|
||||
parameter_value
|
||||
parameter_values
|
||||
WHERE
|
||||
scope = $1
|
||||
AND scope_id = $2
|
||||
@@ -371,7 +371,7 @@ const getParameterValuesByScope = `-- name: GetParameterValuesByScope :many
|
||||
SELECT
|
||||
id, created_at, updated_at, scope, scope_id, name, source_scheme, source_value, destination_scheme
|
||||
FROM
|
||||
parameter_value
|
||||
parameter_values
|
||||
WHERE
|
||||
scope = $1
|
||||
AND scope_id = $2
|
||||
@@ -419,7 +419,7 @@ const getProjectByID = `-- name: GetProjectByID :one
|
||||
SELECT
|
||||
id, created_at, updated_at, organization_id, name, provisioner, active_version_id
|
||||
FROM
|
||||
project
|
||||
projects
|
||||
WHERE
|
||||
id = $1
|
||||
LIMIT
|
||||
@@ -445,7 +445,7 @@ const getProjectByOrganizationAndName = `-- name: GetProjectByOrganizationAndNam
|
||||
SELECT
|
||||
id, created_at, updated_at, organization_id, name, provisioner, active_version_id
|
||||
FROM
|
||||
project
|
||||
projects
|
||||
WHERE
|
||||
organization_id = $1
|
||||
AND LOWER(name) = LOWER($2)
|
||||
@@ -477,7 +477,7 @@ const getProjectVersionByID = `-- name: GetProjectVersionByID :one
|
||||
SELECT
|
||||
id, project_id, organization_id, created_at, updated_at, name, description, job_id
|
||||
FROM
|
||||
project_version
|
||||
project_versions
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
@@ -502,7 +502,7 @@ const getProjectVersionByProjectIDAndName = `-- name: GetProjectVersionByProject
|
||||
SELECT
|
||||
id, project_id, organization_id, created_at, updated_at, name, description, job_id
|
||||
FROM
|
||||
project_version
|
||||
project_versions
|
||||
WHERE
|
||||
project_id = $1
|
||||
AND name = $2
|
||||
@@ -533,7 +533,7 @@ const getProjectVersionsByProjectID = `-- name: GetProjectVersionsByProjectID :m
|
||||
SELECT
|
||||
id, project_id, organization_id, created_at, updated_at, name, description, job_id
|
||||
FROM
|
||||
project_version
|
||||
project_versions
|
||||
WHERE
|
||||
project_id = $1 :: uuid
|
||||
`
|
||||
@@ -574,7 +574,7 @@ const getProjectsByOrganization = `-- name: GetProjectsByOrganization :many
|
||||
SELECT
|
||||
id, created_at, updated_at, organization_id, name, provisioner, active_version_id
|
||||
FROM
|
||||
project
|
||||
projects
|
||||
WHERE
|
||||
organization_id = $1
|
||||
`
|
||||
@@ -614,7 +614,7 @@ const getProvisionerDaemonByID = `-- name: GetProvisionerDaemonByID :one
|
||||
SELECT
|
||||
id, created_at, updated_at, organization_id, name, provisioners
|
||||
FROM
|
||||
provisioner_daemon
|
||||
provisioner_daemons
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
@@ -637,7 +637,7 @@ const getProvisionerDaemons = `-- name: GetProvisionerDaemons :many
|
||||
SELECT
|
||||
id, created_at, updated_at, organization_id, name, provisioners
|
||||
FROM
|
||||
provisioner_daemon
|
||||
provisioner_daemons
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) GetProvisionerDaemons(ctx context.Context) ([]ProvisionerDaemon, error) {
|
||||
@@ -674,7 +674,7 @@ const getProvisionerJobByID = `-- name: GetProvisionerJobByID :one
|
||||
SELECT
|
||||
id, created_at, updated_at, started_at, cancelled_at, completed_at, error, organization_id, initiator_id, provisioner, storage_method, storage_source, type, input, worker_id
|
||||
FROM
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
@@ -706,7 +706,7 @@ const getProvisionerJobsByIDs = `-- name: GetProvisionerJobsByIDs :many
|
||||
SELECT
|
||||
id, created_at, updated_at, started_at, cancelled_at, completed_at, error, organization_id, initiator_id, provisioner, storage_method, storage_source, type, input, worker_id
|
||||
FROM
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
WHERE
|
||||
id = ANY($1 :: uuid [ ])
|
||||
`
|
||||
@@ -754,7 +754,7 @@ const getProvisionerLogsByIDBetween = `-- name: GetProvisionerLogsByIDBetween :m
|
||||
SELECT
|
||||
id, job_id, created_at, source, level, output
|
||||
FROM
|
||||
provisioner_job_log
|
||||
provisioner_job_logs
|
||||
WHERE
|
||||
job_id = $1
|
||||
AND (
|
||||
@@ -901,7 +901,7 @@ const getWorkspaceAgentByAuthToken = `-- name: GetWorkspaceAgentByAuthToken :one
|
||||
SELECT
|
||||
id, created_at, updated_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata
|
||||
FROM
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
WHERE
|
||||
auth_token = $1
|
||||
`
|
||||
@@ -928,7 +928,7 @@ const getWorkspaceAgentByInstanceID = `-- name: GetWorkspaceAgentByInstanceID :o
|
||||
SELECT
|
||||
id, created_at, updated_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata
|
||||
FROM
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
WHERE
|
||||
auth_instance_id = $1 :: text
|
||||
ORDER BY
|
||||
@@ -957,7 +957,7 @@ const getWorkspaceAgentByResourceID = `-- name: GetWorkspaceAgentByResourceID :o
|
||||
SELECT
|
||||
id, created_at, updated_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata
|
||||
FROM
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
WHERE
|
||||
resource_id = $1
|
||||
`
|
||||
@@ -984,7 +984,7 @@ const getWorkspaceBuildByID = `-- name: GetWorkspaceBuildByID :one
|
||||
SELECT
|
||||
id, created_at, updated_at, workspace_id, project_version_id, name, before_id, after_id, transition, initiator, provisioner_state, job_id
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
id = $1
|
||||
LIMIT
|
||||
@@ -1015,7 +1015,7 @@ const getWorkspaceBuildByJobID = `-- name: GetWorkspaceBuildByJobID :one
|
||||
SELECT
|
||||
id, created_at, updated_at, workspace_id, project_version_id, name, before_id, after_id, transition, initiator, provisioner_state, job_id
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
job_id = $1
|
||||
LIMIT
|
||||
@@ -1046,7 +1046,7 @@ const getWorkspaceBuildByWorkspaceID = `-- name: GetWorkspaceBuildByWorkspaceID
|
||||
SELECT
|
||||
id, created_at, updated_at, workspace_id, project_version_id, name, before_id, after_id, transition, initiator, provisioner_state, job_id
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
workspace_id = $1
|
||||
`
|
||||
@@ -1091,7 +1091,7 @@ const getWorkspaceBuildByWorkspaceIDAndName = `-- name: GetWorkspaceBuildByWorks
|
||||
SELECT
|
||||
id, created_at, updated_at, workspace_id, project_version_id, name, before_id, after_id, transition, initiator, provisioner_state, job_id
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
workspace_id = $1
|
||||
AND name = $2
|
||||
@@ -1126,7 +1126,7 @@ const getWorkspaceBuildByWorkspaceIDWithoutAfter = `-- name: GetWorkspaceBuildBy
|
||||
SELECT
|
||||
id, created_at, updated_at, workspace_id, project_version_id, name, before_id, after_id, transition, initiator, provisioner_state, job_id
|
||||
FROM
|
||||
workspace_build
|
||||
workspace_builds
|
||||
WHERE
|
||||
workspace_id = $1
|
||||
AND after_id IS NULL
|
||||
@@ -1158,7 +1158,7 @@ const getWorkspaceByID = `-- name: GetWorkspaceByID :one
|
||||
SELECT
|
||||
id, created_at, updated_at, owner_id, project_id, name
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
id = $1
|
||||
LIMIT
|
||||
@@ -1183,7 +1183,7 @@ const getWorkspaceByUserIDAndName = `-- name: GetWorkspaceByUserIDAndName :one
|
||||
SELECT
|
||||
id, created_at, updated_at, owner_id, project_id, name
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
owner_id = $1
|
||||
AND LOWER(name) = LOWER($2)
|
||||
@@ -1213,7 +1213,7 @@ SELECT
|
||||
project_id,
|
||||
COUNT(DISTINCT owner_id)
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
project_id = ANY($1 :: uuid [ ])
|
||||
GROUP BY
|
||||
@@ -1253,7 +1253,7 @@ const getWorkspaceResourceByID = `-- name: GetWorkspaceResourceByID :one
|
||||
SELECT
|
||||
id, created_at, job_id, transition, type, name, agent_id
|
||||
FROM
|
||||
workspace_resource
|
||||
workspace_resources
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
@@ -1277,7 +1277,7 @@ const getWorkspaceResourcesByJobID = `-- name: GetWorkspaceResourcesByJobID :man
|
||||
SELECT
|
||||
id, created_at, job_id, transition, type, name, agent_id
|
||||
FROM
|
||||
workspace_resource
|
||||
workspace_resources
|
||||
WHERE
|
||||
job_id = $1
|
||||
`
|
||||
@@ -1317,7 +1317,7 @@ const getWorkspacesByUserID = `-- name: GetWorkspacesByUserID :many
|
||||
SELECT
|
||||
id, created_at, updated_at, owner_id, project_id, name
|
||||
FROM
|
||||
workspace
|
||||
workspaces
|
||||
WHERE
|
||||
owner_id = $1
|
||||
`
|
||||
@@ -1450,7 +1450,7 @@ func (q *sqlQuerier) InsertAPIKey(ctx context.Context, arg InsertAPIKeyParams) (
|
||||
|
||||
const insertFile = `-- name: InsertFile :one
|
||||
INSERT INTO
|
||||
file (hash, created_at, created_by, mimetype, data)
|
||||
files (hash, created_at, created_by, mimetype, data)
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5) RETURNING hash, created_at, created_by, mimetype, data
|
||||
`
|
||||
@@ -1563,7 +1563,7 @@ func (q *sqlQuerier) InsertOrganizationMember(ctx context.Context, arg InsertOrg
|
||||
|
||||
const insertParameterSchema = `-- name: InsertParameterSchema :one
|
||||
INSERT INTO
|
||||
parameter_schema (
|
||||
parameter_schemas (
|
||||
id,
|
||||
created_at,
|
||||
job_id,
|
||||
@@ -1664,7 +1664,7 @@ func (q *sqlQuerier) InsertParameterSchema(ctx context.Context, arg InsertParame
|
||||
|
||||
const insertParameterValue = `-- name: InsertParameterValue :one
|
||||
INSERT INTO
|
||||
parameter_value (
|
||||
parameter_values (
|
||||
id,
|
||||
name,
|
||||
created_at,
|
||||
@@ -1720,7 +1720,7 @@ func (q *sqlQuerier) InsertParameterValue(ctx context.Context, arg InsertParamet
|
||||
|
||||
const insertProject = `-- name: InsertProject :one
|
||||
INSERT INTO
|
||||
project (
|
||||
projects (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -1768,7 +1768,7 @@ func (q *sqlQuerier) InsertProject(ctx context.Context, arg InsertProjectParams)
|
||||
|
||||
const insertProjectVersion = `-- name: InsertProjectVersion :one
|
||||
INSERT INTO
|
||||
project_version (
|
||||
project_versions (
|
||||
id,
|
||||
project_id,
|
||||
organization_id,
|
||||
@@ -1820,7 +1820,7 @@ func (q *sqlQuerier) InsertProjectVersion(ctx context.Context, arg InsertProject
|
||||
|
||||
const insertProvisionerDaemon = `-- name: InsertProvisionerDaemon :one
|
||||
INSERT INTO
|
||||
provisioner_daemon (id, created_at, organization_id, name, provisioners)
|
||||
provisioner_daemons (id, created_at, organization_id, name, provisioners)
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5) RETURNING id, created_at, updated_at, organization_id, name, provisioners
|
||||
`
|
||||
@@ -1855,7 +1855,7 @@ func (q *sqlQuerier) InsertProvisionerDaemon(ctx context.Context, arg InsertProv
|
||||
|
||||
const insertProvisionerJob = `-- name: InsertProvisionerJob :one
|
||||
INSERT INTO
|
||||
provisioner_job (
|
||||
provisioner_jobs (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -1920,7 +1920,7 @@ func (q *sqlQuerier) InsertProvisionerJob(ctx context.Context, arg InsertProvisi
|
||||
|
||||
const insertProvisionerJobLogs = `-- name: InsertProvisionerJobLogs :many
|
||||
INSERT INTO
|
||||
provisioner_job_log
|
||||
provisioner_job_logs
|
||||
SELECT
|
||||
unnest($1 :: uuid [ ]) AS id,
|
||||
$2 :: uuid AS job_id,
|
||||
@@ -2042,7 +2042,7 @@ func (q *sqlQuerier) InsertUser(ctx context.Context, arg InsertUserParams) (User
|
||||
|
||||
const insertWorkspace = `-- name: InsertWorkspace :one
|
||||
INSERT INTO
|
||||
workspace (
|
||||
workspaces (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -2086,7 +2086,7 @@ func (q *sqlQuerier) InsertWorkspace(ctx context.Context, arg InsertWorkspacePar
|
||||
|
||||
const insertWorkspaceAgent = `-- name: InsertWorkspaceAgent :one
|
||||
INSERT INTO
|
||||
workspace_agent (
|
||||
workspace_agents (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -2146,7 +2146,7 @@ func (q *sqlQuerier) InsertWorkspaceAgent(ctx context.Context, arg InsertWorkspa
|
||||
|
||||
const insertWorkspaceBuild = `-- name: InsertWorkspaceBuild :one
|
||||
INSERT INTO
|
||||
workspace_build (
|
||||
workspace_builds (
|
||||
id,
|
||||
created_at,
|
||||
updated_at,
|
||||
@@ -2211,7 +2211,7 @@ func (q *sqlQuerier) InsertWorkspaceBuild(ctx context.Context, arg InsertWorkspa
|
||||
|
||||
const insertWorkspaceResource = `-- name: InsertWorkspaceResource :one
|
||||
INSERT INTO
|
||||
workspace_resource (
|
||||
workspace_resources (
|
||||
id,
|
||||
created_at,
|
||||
job_id,
|
||||
@@ -2293,7 +2293,7 @@ func (q *sqlQuerier) UpdateAPIKeyByID(ctx context.Context, arg UpdateAPIKeyByIDP
|
||||
|
||||
const updateProjectVersionByID = `-- name: UpdateProjectVersionByID :exec
|
||||
UPDATE
|
||||
project_version
|
||||
project_versions
|
||||
SET
|
||||
project_id = $2,
|
||||
updated_at = $3
|
||||
@@ -2314,7 +2314,7 @@ func (q *sqlQuerier) UpdateProjectVersionByID(ctx context.Context, arg UpdatePro
|
||||
|
||||
const updateProvisionerDaemonByID = `-- name: UpdateProvisionerDaemonByID :exec
|
||||
UPDATE
|
||||
provisioner_daemon
|
||||
provisioner_daemons
|
||||
SET
|
||||
updated_at = $2,
|
||||
provisioners = $3
|
||||
@@ -2335,7 +2335,7 @@ func (q *sqlQuerier) UpdateProvisionerDaemonByID(ctx context.Context, arg Update
|
||||
|
||||
const updateProvisionerJobByID = `-- name: UpdateProvisionerJobByID :exec
|
||||
UPDATE
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
SET
|
||||
updated_at = $2
|
||||
WHERE
|
||||
@@ -2354,7 +2354,7 @@ func (q *sqlQuerier) UpdateProvisionerJobByID(ctx context.Context, arg UpdatePro
|
||||
|
||||
const updateProvisionerJobWithCompleteByID = `-- name: UpdateProvisionerJobWithCompleteByID :exec
|
||||
UPDATE
|
||||
provisioner_job
|
||||
provisioner_jobs
|
||||
SET
|
||||
updated_at = $2,
|
||||
completed_at = $3,
|
||||
@@ -2385,7 +2385,7 @@ func (q *sqlQuerier) UpdateProvisionerJobWithCompleteByID(ctx context.Context, a
|
||||
|
||||
const updateWorkspaceAgentByID = `-- name: UpdateWorkspaceAgentByID :exec
|
||||
UPDATE
|
||||
workspace_agent
|
||||
workspace_agents
|
||||
SET
|
||||
updated_at = $2
|
||||
WHERE
|
||||
@@ -2404,7 +2404,7 @@ func (q *sqlQuerier) UpdateWorkspaceAgentByID(ctx context.Context, arg UpdateWor
|
||||
|
||||
const updateWorkspaceBuildByID = `-- name: UpdateWorkspaceBuildByID :exec
|
||||
UPDATE
|
||||
workspace_build
|
||||
workspace_builds
|
||||
SET
|
||||
updated_at = $2,
|
||||
after_id = $3,
|
||||
|
||||
Reference in New Issue
Block a user