func AddUserToContainer(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE containers ADD COLUMN process_user text DEFAULT ''; `) return err }
func initial(tx migration.LimitedTx) error { _, err := tx.Exec(` CREATE TABLE pull_requests ( owner text NOT NULL, repository text NOT NULL, sha text NOT NULL ); `) if err != nil { return err } _, err = tx.Exec(` CREATE UNIQUE INDEX pull_requests_unique ON pull_requests ( owner, repository, sha ); `) if err != nil { return err } return nil }
func AddIndexesToABunchOfStuff(tx migration.LimitedTx) error { _, err := tx.Exec(` CREATE INDEX build_inputs_build_id_versioned_resource_id ON build_inputs (build_id, versioned_resource_id); `) if err != nil { return err } _, err = tx.Exec(` CREATE INDEX build_outputs_build_id_versioned_resource_id ON build_outputs (build_id, versioned_resource_id); `) if err != nil { return err } _, err = tx.Exec(` CREATE INDEX builds_job_id ON builds (job_id); `) if err != nil { return err } _, err = tx.Exec(` CREATE INDEX jobs_pipeline_id ON jobs (pipeline_id); `) if err != nil { return err } _, err = tx.Exec(` CREATE INDEX resources_pipeline_id ON resources (pipeline_id); `) return nil }
func AddEnvVariablesToContainers(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE containers ADD COLUMN env_variables text NOT NULL DEFAULT '[]'; `) return err }
func RemoveVolumesWithExpiredWorkers(tx migration.LimitedTx) error { _, err := tx.Exec(` DELETE FROM volumes v WHERE (SELECT COUNT(name) FROM workers w WHERE w.name = v.worker_name) = 0; `) return err }
func (d dbVersion) createTable(tx migration.LimitedTx) error { _, err := tx.Exec(d.CreateSQL) if err == nil { err = d.set(tx, 0) } return err }
// DefaultRegion will insert a default region into the database with the // name "default", no start, and no end time. func (m Migrator) DefaultRegion(tx migration.LimitedTx) error { _, err := tx.Exec( `INSERT INTO regions(name) VALUES(?)`, "default", ) return err }
func AddStepLocationToContainers(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE containers ADD COLUMN step_location integer DEFAULT 0; `) return err }
func MakeVolumesExpiresAtNullable(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE volumes ALTER COLUMN expires_at DROP NOT NULL; `) return err }
func CascadePipelineDeletes(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE build_events DROP CONSTRAINT build_events_build_id_fkey; ALTER TABLE build_events ADD CONSTRAINT build_events_build_id_fkey FOREIGN KEY (build_id) REFERENCES builds (id) ON DELETE CASCADE; ALTER TABLE build_outputs DROP CONSTRAINT build_outputs_build_id_fkey; ALTER TABLE build_outputs ADD CONSTRAINT build_outputs_build_id_fkey FOREIGN KEY (build_id) REFERENCES builds(id) ON DELETE CASCADE; ALTER TABLE build_outputs DROP CONSTRAINT build_outputs_versioned_resource_id_fkey; ALTER TABLE build_outputs ADD CONSTRAINT build_outputs_versioned_resource_id_fkey FOREIGN KEY (versioned_resource_id) REFERENCES versioned_resources(id) ON DELETE CASCADE; ALTER TABLE build_inputs DROP CONSTRAINT build_inputs_build_id_fkey; ALTER TABLE build_inputs ADD CONSTRAINT build_inputs_build_id_fkey FOREIGN KEY (build_id) REFERENCES builds(id) ON DELETE CASCADE; ALTER TABLE build_inputs DROP CONSTRAINT build_inputs_versioned_resource_id_fkey; ALTER TABLE build_inputs ADD CONSTRAINT build_inputs_versioned_resource_id_fkey FOREIGN KEY (versioned_resource_id) REFERENCES versioned_resources(id) ON DELETE CASCADE; ALTER TABLE jobs_serial_groups DROP CONSTRAINT fkey_job_id; ALTER TABLE jobs_serial_groups ADD CONSTRAINT fkey_job_id FOREIGN KEY (job_id) REFERENCES jobs(id) ON DELETE CASCADE; ALTER TABLE builds DROP CONSTRAINT fkey_job_id; ALTER TABLE builds ADD CONSTRAINT fkey_job_id FOREIGN KEY (job_id) REFERENCES jobs(id) ON DELETE CASCADE; ALTER TABLE versioned_resources DROP CONSTRAINT fkey_resource_id; ALTER TABLE versioned_resources ADD CONSTRAINT fkey_resource_id FOREIGN KEY (resource_id) REFERENCES resources(id) ON DELETE CASCADE; ALTER TABLE resources DROP CONSTRAINT resources_pipeline_id_fkey; ALTER TABLE resources ADD CONSTRAINT resources_pipeline_id_fkey FOREIGN KEY (pipeline_id) REFERENCES pipelines(id) ON DELETE CASCADE; ALTER TABLE jobs DROP CONSTRAINT jobs_pipeline_id_fkey; ALTER TABLE jobs ADD CONSTRAINT jobs_pipeline_id_fkey FOREIGN KEY (pipeline_id) REFERENCES pipelines (id) ON DELETE CASCADE; `) return err }
func AddModifiedTimeToBuildInputs(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE build_inputs ADD COLUMN modified_time timestamp NOT NULL DEFAULT now(); `) return err }
func CleanUpMassiveUniqueConstraint(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE containers DROP CONSTRAINT IF EXISTS containers_worker_name_resource_id_check_type_check_source__key `) return err }
func AddWorkingDirectoryToContainers(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE containers ADD COLUMN working_directory text; `) return err }
func DropCompletedFromBuildPreparation(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE build_preparation DROP COLUMN completed `) return err }
func AddCompositeUniqueConstraintToVolumes(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE volumes DROP CONSTRAINT volumes_handle_key; ALTER TABLE volumes ADD UNIQUE (worker_name, handle); `) return err }
func (d dbVersion) get(tx migration.LimitedTx) (int, error) { var version int r := tx.QueryRow(d.GetSQL) if err := r.Scan(&version); err != nil { return 0, err } return version, nil }
func ResetPendingBuilds(tx migration.LimitedTx) error { _, err := tx.Exec(` UPDATE builds SET scheduled = false WHERE scheduled = true AND status = 'pending' `) return err }
func RemoveTransitionalCurrentVersions(tx migration.LimitedTx) error { _, err := tx.Exec("DROP TABLE transitional_current_versions") if err != nil { return err } return nil }
func AddConfig(tx migration.LimitedTx) error { _, err := tx.Exec(`CREATE TABLE config (config text NOT NULL)`) if err != nil { return err } return nil }
func AddHijackURLToBuilds(tx migration.LimitedTx) error { _, err := tx.Exec(`ALTER TABLE builds ADD COLUMN hijack_url varchar(255)`) if err != nil { return err } return nil }
func AddCheckTypeAndCheckSourceToContainers(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE containers ADD COLUMN check_type text; ALTER TABLE containers ADD COLUMN check_source text; `) return err }
func createVersionTable(tx migration.LimitedTx) error { _, err := tx.Exec(` CREATE TABLE simple_queue_version ( version INTEGER ); INSERT INTO simple_queue_version (version) VALUES (0)`) return err }
func AddResourceTypesToWorkers(tx migration.LimitedTx) error { _, err := tx.Exec(`ALTER TABLE workers ADD COLUMN resource_types text`) if err != nil { return err } return nil }
func AddLastCheckedAndCheckingToResourceTypes(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE resource_types ADD COLUMN last_checked timestamp NOT NULL DEFAULT 'epoch', ADD COLUMN checking bool NOT NULL DEFAULT false `) return err }
func AddAdminToTeams(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE teams ADD COLUMN admin bool DEFAULT false; `) return err }
func DropLocks(tx migration.LimitedTx) error { _, err := tx.Exec("DROP TABLE locks") if err != nil { return err } return nil }
// createVersionTable creates the version table and inserts the // initial value (0) into the database. func createVersionTable(tx migration.LimitedTx) error { _, err := tx.Exec("CREATE TABLE migration_version ( version INTEGER )") if err != nil { return err } _, err = tx.Exec("INSERT INTO migration_version (version) VALUES (0)") return err }
func ResetCheckOrder(tx migration.LimitedTx) error { _, err := tx.Exec(` UPDATE versioned_resources SET check_order = id WHERE check_order != id `) return err }
// getVersion gets the migration version in the database. func getVersion(tx migration.LimitedTx) (int, error) { var version int row := tx.QueryRow("SELECT version FROM migration_version") if err := row.Scan(&version); err != nil { return 0, err } return version, nil }
func AddHttpProxyHttpsProxyNoProxyToWorkers(tx migration.LimitedTx) error { _, err := tx.Exec(` ALTER TABLE workers ADD COLUMN http_proxy_url text, ADD COLUMN https_proxy_url text, ADD COLUMN no_proxy text `) return err }