feat: run all migrations in a transaction (#10966)

Updates coder/customers#365

This PR updates our migration framework to run all migrations in a single transaction. This is the same behavior we had in v1 and ensures that failed migrations don't bring the whole deployment down. If a migration fails now, it will automatically be rolled back to the previous version, allowing the deployment to continue functioning.
This commit is contained in:
Colin Adler
2023-12-01 16:11:10 -06:00
committed by GitHub
parent 60d0aa6930
commit 8e684c8195
109 changed files with 243 additions and 372 deletions
@@ -1,5 +1,3 @@
BEGIN;
CREATE TYPE group_source AS ENUM (
-- User created groups
'user',
@@ -11,5 +9,3 @@ ALTER TABLE groups
ADD COLUMN source group_source NOT NULL DEFAULT 'user';
COMMENT ON COLUMN groups.source IS 'Source indicates how the group was created. It can be created by a user manually, or through some system process like OIDC group sync.';
COMMIT;