Create table for AddOns assignments
What does this MR do and why?
This MR adds new table 'subscription_user_add_on_assignments'.
This table will be used to keep record of AddOn seats assigned to namespace users.
Migration
Up
$ bin/rails db:migrate:up:main VERSION=20230616164309
main: == [advisory_lock_connection] object_id: 228420, pg_backend_pid: 81103
main: == 20230616164309 CreateSubscriptionUserAddOnAssignments: migrating ===========
main: -- create_table(:subscription_user_add_on_assignments)
main: -> 0.0068s
main: == 20230616164309 CreateSubscriptionUserAddOnAssignments: migrated (0.0865s) ==
main: == [advisory_lock_connection] object_id: 228420, pg_backend_pid: 81103
$ bin/rails db:migrate:up:main VERSION=20230616164705
main: == [advisory_lock_connection] object_id: 228420, pg_backend_pid: 15864
main: == 20230616164705 AddForeignKeyAddOnPurchaseIdOnSubscriptionUserAddOnAssignments: migrating
main: -- transaction_open?()
main: -> 0.0000s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER TABLE subscription_user_add_on_assignments ADD CONSTRAINT fk_0d89020c49 FOREIGN KEY (add_on_purchase_id) REFERENCES subscription_add_on_purchases (id) ON DELETE CASCADE NOT VALID;")
main: -> 0.0019s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0002s
main: -- execute("ALTER TABLE subscription_user_add_on_assignments VALIDATE CONSTRAINT fk_0d89020c49;")
main: -> 0.0012s
main: -- execute("RESET statement_timeout")
main: -> 0.0002s
main: == 20230616164705 AddForeignKeyAddOnPurchaseIdOnSubscriptionUserAddOnAssignments: migrated (0.1318s)
main: == [advisory_lock_connection] object_id: 228420, pg_backend_pid: 15864
$ bin/rails db:migrate:up:main VERSION=20230616164731
main: == [advisory_lock_connection] object_id: 228440, pg_backend_pid: 20110
main: == 20230616164731 AddForeignKeyUserIdOnSubscriptionUserAddOnAssignments: migrating
main: -- transaction_open?()
main: -> 0.0002s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER TABLE subscription_user_add_on_assignments ADD CONSTRAINT fk_724c2df9a8 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE NOT VALID;")
main: -> 0.0030s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0003s
main: -- execute("ALTER TABLE subscription_user_add_on_assignments VALIDATE CONSTRAINT fk_724c2df9a8;")
main: -> 0.0082s
main: -- execute("RESET statement_timeout")
main: -> 0.0006s
main: == 20230616164731 AddForeignKeyUserIdOnSubscriptionUserAddOnAssignments: migrated (0.2290s)
main: == [advisory_lock_connection] object_id: 228440, pg_backend_pid: 20110
Down
$ bin/rails db:migrate:down:main VERSION=20230616164731
main: == [advisory_lock_connection] object_id: 228500, pg_backend_pid: 56094
main: == 20230616164731 AddForeignKeyUserIdOnSubscriptionUserAddOnAssignments: reverting
main: -- transaction_open?()
main: -> 0.0000s
main: -- remove_foreign_key(:subscription_user_add_on_assignments, {:column=>:user_id})
main: -> 0.4417s
main: == 20230616164731 AddForeignKeyUserIdOnSubscriptionUserAddOnAssignments: reverted (0.4684s)
main: == [advisory_lock_connection] object_id: 228500, pg_backend_pid: 56094
$ bin/rails db:migrate:down:main VERSION=20230616164705
main: == [advisory_lock_connection] object_id: 228440, pg_backend_pid: 59994
main: == 20230616164705 AddForeignKeyAddOnPurchaseIdOnSubscriptionUserAddOnAssignments: reverting
main: -- transaction_open?()
main: -> 0.0000s
main: -- remove_foreign_key(:subscription_user_add_on_assignments, {:column=>:add_on_purchase_id})
main: -> 0.5002s
main: == 20230616164705 AddForeignKeyAddOnPurchaseIdOnSubscriptionUserAddOnAssignments: reverted (0.5284s)
main: == [advisory_lock_connection] object_id: 228440, pg_backend_pid: 59994
$ bin/rails db:migrate:down:main VERSION=20230616164309
bin/rails db:migrate:down:main VERSION=20230616164309
main: == [advisory_lock_connection] object_id: 228520, pg_backend_pid: 63359
main: == 20230616164309 CreateSubscriptionUserAddOnAssignments: reverting ===========
main: -- drop_table(:subscription_user_add_on_assignments)
main: -> 0.0022s
main: == 20230616164309 CreateSubscriptionUserAddOnAssignments: reverted (0.0080s) ==
main: == [advisory_lock_connection] object_id: 228520, pg_backend_pid: 63359
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #411967
Edited by Bishwa Hang Rai