本文整理汇总了Golang中github.com/BurntSushi/migration.LimitedTx类的典型用法代码示例。如果您正苦于以下问题:Golang LimitedTx类的具体用法?Golang LimitedTx怎么用?Golang LimitedTx使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LimitedTx类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: AddUserToContainer
func AddUserToContainer(tx migration.LimitedTx) error {
_, err := tx.Exec(`
ALTER TABLE containers
ADD COLUMN process_user text DEFAULT '';
`)
return err
}
示例2: initial
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
}
示例3: AddIndexesToABunchOfStuff
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
}
示例4: AddEnvVariablesToContainers
func AddEnvVariablesToContainers(tx migration.LimitedTx) error {
_, err := tx.Exec(`
ALTER TABLE containers ADD COLUMN env_variables text NOT NULL DEFAULT '[]';
`)
return err
}
示例5: RemoveVolumesWithExpiredWorkers
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
}
示例6: createTable
func (d dbVersion) createTable(tx migration.LimitedTx) error {
_, err := tx.Exec(d.CreateSQL)
if err == nil {
err = d.set(tx, 0)
}
return err
}
示例7: DefaultRegion
// 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
}
示例8: AddStepLocationToContainers
func AddStepLocationToContainers(tx migration.LimitedTx) error {
_, err := tx.Exec(`
ALTER TABLE containers ADD COLUMN step_location integer DEFAULT 0;
`)
return err
}
示例9: MakeVolumesExpiresAtNullable
func MakeVolumesExpiresAtNullable(tx migration.LimitedTx) error {
_, err := tx.Exec(`
ALTER TABLE volumes
ALTER COLUMN expires_at DROP NOT NULL;
`)
return err
}
示例10: CascadePipelineDeletes
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
}
示例11: AddModifiedTimeToBuildInputs
func AddModifiedTimeToBuildInputs(tx migration.LimitedTx) error {
_, err := tx.Exec(`
ALTER TABLE build_inputs
ADD COLUMN modified_time timestamp NOT NULL DEFAULT now();
`)
return err
}
示例12: CleanUpMassiveUniqueConstraint
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
}
示例13: AddWorkingDirectoryToContainers
func AddWorkingDirectoryToContainers(tx migration.LimitedTx) error {
_, err := tx.Exec(`
ALTER TABLE containers ADD COLUMN working_directory text;
`)
return err
}
示例14: DropCompletedFromBuildPreparation
func DropCompletedFromBuildPreparation(tx migration.LimitedTx) error {
_, err := tx.Exec(`
ALTER TABLE build_preparation
DROP COLUMN completed
`)
return err
}
示例15: AddCompositeUniqueConstraintToVolumes
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
}