-
-
Notifications
You must be signed in to change notification settings - Fork 247
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
'BatchOperations' object has no attribute 'rename_table' #1453
Comments
Hi, This was caused by the change done as part of #1093 and mentioned in this change note: https://alembic.sqlalchemy.org/en/latest/changelog.html#change-3bdff00f5f667e502dd8506162574a24 I agree that we could note a bit better that the So I would consider this only a documentation change. @zzzeek do you agree here? Can you provide a PR with the updated changelog? |
doc change is fine sure |
* Update manila from branch 'master' to 56db40e344495e162d1255747a274e2641d13447 - Merge "db: rename_table is not a batch operation" - db: rename_table is not a batch operation This is reported upstream [1] but I suspect the root cause is that we were relying on a bug in Alembic: renaming tables doesn't really make sense as a batch operation, which by definition works by recreating tables with an updated schema (to support SQLite and its lack of full 'ALTER' support). [1] sqlalchemy/alembic#1453 Signed-off-by: Stephen Finucane <[email protected]> Change-Id: I1da6d117778bbbad64b2df2dfd2f8aeef8a7084c
This is reported upstream [1] but I suspect the root cause is that we were relying on a bug in Alembic: renaming tables doesn't really make sense as a batch operation, which by definition works by recreating tables with an updated schema (to support SQLite and its lack of full 'ALTER' support). [1] sqlalchemy/alembic#1453 Signed-off-by: Stephen Finucane <[email protected]> Change-Id: I1da6d117778bbbad64b2df2dfd2f8aeef8a7084c
Describe the bug
After an upgrade to 1.11.x, I now see the following error messages in a migration:
The migration in question is doing this:
Things worked (or at least, didn't fail) on 1.10.4 and before. Now, the ops docs suggest this was never supported, but it worked and therefore we used it.
The fix is rather easy: we can just change the above to:
...but there's no mention of this change in behavior in the release notes for 1.11. It would be good to add it, even if retrospectively, if this was indeed intentional.
Expected behavior
I'd expect one of the two things to happen:
BatchOperations.rename_table
is defined as an alias ofOperations.rename_table
and does the exact same thing(PS: I did try looking at the
rel_1_10_4...rel_1_11_0
diff and commit 2aba0ad looks like the most likely candidate for this issue, but I have yet to go much deeper than this)To Reproduce
See https://github.com/stephenfin/alembic-issue-1453 for a minimal'ish reproducer.
Error
Versions.
mysql
Additional context
Have a nice day!
The text was updated successfully, but these errors were encountered: