Skip to content

Adds CatalogResourceComponents table

What does this MR do and why?

This MR adds the catalog_resource_components table plus models and associations.

catalog_resource_components(
  name # component name
  inputs # specs of the inputs. JSON serialized
  catalog_version_id FK to catalog_resource_versions.id
  resource_type integer (enum { template: 1 })
  catalog_resource_id FK to catalog_resources.id
  project_id FK to projects.id
  created_at
)

UP

main:    -> 0.0011s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0003s
main: -- execute("ALTER TABLE catalog_resource_components VALIDATE CONSTRAINT fk_89fd1a3e33;")
main:    -> 0.0012s
main: -- execute("RESET statement_timeout")
main:    -> 0.0005s
main: == 20230727092035 AddCatalogVersionFkToCatalogResourceComponents: migrated (0.0326s)

main: == [advisory_lock_connection] object_id: 225120, pg_backend_pid: 25525
ci: == [advisory_lock_connection] object_id: 225320, pg_backend_pid: 25530
ci: == 20230727092035 AddCatalogVersionFkToCatalogResourceComponents: migrating ===
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- transaction_open?()
ci:    -> 0.0001s
ci: -- execute("ALTER TABLE catalog_resource_components ADD CONSTRAINT fk_89fd1a3e33 FOREIGN KEY (version_id) REFERENCES catalog_resource_versions (id) ON DELETE CASCADE NOT VALID;")
ci:    -> 0.0014s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0003s
ci: -- execute("ALTER TABLE catalog_resource_components VALIDATE CONSTRAINT fk_89fd1a3e33;")
ci:    -> 0.0007s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0002s
ci: == 20230727092035 AddCatalogVersionFkToCatalogResourceComponents: migrated (0.0254s)

ci: == [advisory_lock_connection] object_id: 225320, pg_backend_pid: 25530
main: == [advisory_lock_connection] object_id: 227220, pg_backend_pid: 25536
main: == 20230727092425 AddProjectFkToCatalogResourceComponents: migrating ==========
main: -- transaction_open?()
main:    -> 0.0000s
main: -- transaction_open?()
main:    -> 0.0000s
main: -- execute("ALTER TABLE catalog_resource_components ADD CONSTRAINT fk_85bb1d1e79 FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;")
main:    -> 0.0013s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0003s
main: -- execute("ALTER TABLE catalog_resource_components VALIDATE CONSTRAINT fk_85bb1d1e79;")
main:    -> 0.0030s
main: -- execute("RESET statement_timeout")
main:    -> 0.0003s
main: == 20230727092425 AddProjectFkToCatalogResourceComponents: migrated (0.0221s) =

main: == [advisory_lock_connection] object_id: 227220, pg_backend_pid: 25536
ci: == [advisory_lock_connection] object_id: 229180, pg_backend_pid: 25542
ci: == 20230727092425 AddProjectFkToCatalogResourceComponents: migrating ==========
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE catalog_resource_components ADD CONSTRAINT fk_85bb1d1e79 FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE NOT VALID;")
ci:    -> 0.0013s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0004s
ci: -- execute("ALTER TABLE catalog_resource_components VALIDATE CONSTRAINT fk_85bb1d1e79;")
ci:    -> 0.0028s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0003s
ci: == 20230727092425 AddProjectFkToCatalogResourceComponents: migrated (0.0265s) =

ci: == [advisory_lock_connection] object_id: 229180, pg_backend_pid: 25542

Down

main: == [advisory_lock_connection] object_id: 223720, pg_backend_pid: 34381
main: == 20230727084849 CreateCatalogResourceComponents: reverting ==================
main: -- drop_table(:catalog_resource_components)
main:    -> 0.0019s
main: == 20230727084849 CreateCatalogResourceComponents: reverted (0.0064s) =========

main: == [advisory_lock_connection] object_id: 223720, pg_backend_pid: 34381
main: == [advisory_lock_connection] object_id: 222880, pg_backend_pid: 33939
main: == 20230727091812 AddCatalogResourceFkToCatalogResourceComponents: reverting ==
main: -- transaction_open?()
main:    -> 0.0000s
main: -- remove_foreign_key(:catalog_resource_components, {:column=>:catalog_resource_id})
main:    -> 0.0817s
main: == 20230727091812 AddCatalogResourceFkToCatalogResourceComponents: reverted (0.0977s)

main: == [advisory_lock_connection] object_id: 222880, pg_backend_pid: 33939
main: == [advisory_lock_connection] object_id: 223720, pg_backend_pid: 33479
main: == 20230727092035 AddCatalogVersionFkToCatalogResourceComponents: reverting ===
main: -- transaction_open?()
main:    -> 0.0000s
main: -- remove_foreign_key(:catalog_resource_components, {:column=>:version_id})
main:    -> 0.0982s
main: == 20230727092035 AddCatalogVersionFkToCatalogResourceComponents: reverted (0.1223s)

main: == [advisory_lock_connection] object_id: 223720, pg_backend_pid: 33479
main: == [advisory_lock_connection] object_id: 223780, pg_backend_pid: 32998
main: == 20230727092425 AddProjectFkToCatalogResourceComponents: reverting ==========
main: -- transaction_open?()
main:    -> 0.0000s
main: -- remove_foreign_key(:catalog_resource_components, {:column=>:project_id})
main:    -> 0.0801s
main: == 20230727092425 AddProjectFkToCatalogResourceComponents: reverted (0.0965s) =

main: == [advisory_lock_connection] object_id: 223780, pg_backend_pid: 32998

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Resolves: #415287 (closed)

Edited by Laura Montemayor

Merge request reports