-
Notifications
You must be signed in to change notification settings - Fork 21
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
[AN-257] Pin mysql to 8.4 for local leo and unit tests #4819
base: develop
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #4819 +/- ##
========================================
Coverage 74.77% 74.77%
========================================
Files 165 165
Lines 14954 14954
Branches 1187 1187
========================================
Hits 11182 11182
Misses 3772 3772 Continue to review full report in Codecov by Sentry.
|
Mysql 8.4+ does not allow partial keys to be referenced for a foreign key anymore, see https://bugs.mysql.com/bug.php?id=114838. | ||
This changeSet has been modified to reflect that; the validCheckSum is the checksum from when the flag did not need to be set because the default was OFF. | ||
</comment> | ||
<sql> SET restrict_fk_on_non_standard_key = OFF; </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.
This retroactive change would allow this Liquibase to run on a brand new MySQL 8.4 – what happens for existing CloudSQL instances like Prod?
I wonder if we also need a new changeset that will run on those and idempotently set this flag.
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.
It worked great on a preexisting BEE DB, but I can wait until I test the existing dev DB first before merging this that's a good callout
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.
I'm also cool with merging as-is and revisiting in a follow-on; since this PR refers to local & tests.
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.
It does, but there is no rush to merge this, I can test mycloud sql locally too
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.
Clearly an improvement; provisional thumb in case you decide to address existing CloudSQLs seprately.
Jira ticket: https://broadworkbench.atlassian.net/browse/AN-257
Summary of changes
What
Slight changes to some liquibase migration files to adapt to the mysql 8.0 -> 8.4 breaking changes around allowing FK to reference from a partial PK. Note that I added the checksum validations for each table as to not break dev and staging like [AN-256] Update mysql version to 8.0 for unit test and local leo #4802 did 🤦♀️
Why
Testing these changes
Note that we need to first merge this terra helmfile PR to update swatomation BEEs to use 8.4, then the integration tests on this PR will pass. We should then merge this PR ASAP otherwise BEE creation will fail for everybody else 😬
What to test
Who tested and where
jenkins retest
orjenkins multi-test
.