-
Notifications
You must be signed in to change notification settings - Fork 150
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
Add support for cleaning up data from releases_json/release_assets #3013
Conversation
4812324
to
4fef9db
Compare
print(" - None") | ||
else: | ||
trans.execute("DELETE releases_json FROM releases_json" + query) | ||
trans.execute("DELETE release_assets FROM release_assets" + query) |
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.
DoesDELETE FROM table_name WHERE condition
work? Instead of DELETE table_name FROM table_name WHERE condition
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.
As I understand it, when you're joining in a delete you must include the table name that you want to delete from (https://www.dofactory.com/sql/delete-join).
(I had to look this up when I was writing this, heh.)
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.
Looks like it's either DELETE tbl_name FROM tbl_name LEFT JOIN ...
or DELETE FROM tbl_name USING tbl_name LEFT JOIN ...
, when multiple tables are involved.
(https://dev.mysql.com/doc/refman/8.0/en/delete.html#idm45611665301776)
[Edit: link to mysql 8.0 doc instead of 5.7]
print(" - None") | ||
else: | ||
trans.execute("DELETE releases_json FROM releases_json" + query) | ||
trans.execute("DELETE release_assets FROM release_assets" + query) |
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.
Looks like it's either DELETE tbl_name FROM tbl_name LEFT JOIN ...
or DELETE FROM tbl_name USING tbl_name LEFT JOIN ...
, when multiple tables are involved.
(https://dev.mysql.com/doc/refman/8.0/en/delete.html#idm45611665301776)
[Edit: link to mysql 8.0 doc instead of 5.7]
This was never implemented when we added these tables. Thankfully, the schemas are identical enough that the join/conditions we're using to cleanup
releases
works just as well here.Even with this patch, nothing will happen immediately because I discovered that we nothing that runs the cleanup in cron since we migrated Balrog to GCP. My plan is: