Files
coder/coderd/database/migrations/000068_update_template_version_created_by.up.sql
Colin Adler 8e684c8195 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.
2023-12-01 16:11:10 -06:00

15 lines
573 B
SQL

UPDATE
template_versions
SET
created_by = COALESCE(
-- Best effort to convert all unowned template versions to the first owner.
(SELECT id FROM users WHERE rbac_roles @> '{owner}' AND deleted = 'f' ORDER BY created_at ASC LIMIT 1),
-- If there are no owners, assign to the first user.
(SELECT id FROM users WHERE deleted = 'f' ORDER BY created_at ASC LIMIT 1)
-- If you have no users I'm not sure what else to tell you.
)
WHERE
created_by IS NULL;
ALTER TABLE template_versions ALTER COLUMN created_by SET NOT NULL;