-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MoveTables Atomic Mode: set FK checks off while deploying schema on targets #15448
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -536,6 +536,10 @@ | |
sql = "SET sql_log_bin = 0;\n" + sql | ||
} | ||
|
||
if change.SetForeignKeyChecksOff { | ||
sql = "SET foreign_key_checks = 0;\n" + sql | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This variable has a
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_foreign_key_checks There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The syntax, as it is, is setting the session value only. In MySQL, if neither > set read_only=1;
ERROR 1229 (HY000): Variable 'read_only' is a GLOBAL variable and should be set with SET GLOBAL So I think it's fine to leave as it is. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, it’s not about the actual effect in 8.0 but rather being explicit about what your intention is. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What my thinking is, that as MySQL veterans this is explicit enough. It's common practice to say There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have the same opinion/reasoning as Shlomi |
||
} | ||
|
||
// add a 'use XXX' in front of the SQL | ||
sql = fmt.Sprintf("USE %s;\n%s", sqlescape.EscapeID(dbName), sql) | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noting that this will not work in 5.7, which I think is fine.