Update foreign key constraint for personal access tokens
Previously the foreign key constraint for user_id
on the
personal_access_tokens
table did not have the ON DELETE CASCADE
option enabled, which made deleting users that had generated a
PAT impossible.
This migration adds a new foreign key constraint with this option and drops the old one.
Migration log
== 20191227140254 UpdatePersonalAccessTokensUserIdForeignKey: migrating =======
-- transaction_open?()
-> 0.0000s
-- foreign_keys(:personal_access_tokens)
-> 0.0036s
-- execute("ALTER TABLE personal_access_tokens\nADD CONSTRAINT fk_personal_access_tokens_user_id\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")
-> 0.0020s
-- execute("SET statement_timeout TO 0")
-> 0.0003s
-- execute("ALTER TABLE personal_access_tokens VALIDATE CONSTRAINT fk_personal_access_tokens_user_id;")
-> 0.0022s
-- execute("RESET ALL")
-> 0.0003s
-- foreign_keys(:personal_access_tokens)
-> 0.0019s
-- remove_foreign_key(:personal_access_tokens, {:column=>:user_id, :on_delete=>nil})
-> 0.0024s
== 20191227140254 UpdatePersonalAccessTokensUserIdForeignKey: migrated (0.0131s)
Closes #191262 (closed)
Edited by Stan Hu