Closed GeorchW closed 6 months ago
Georg Wicke-Arndt has proposed a fix for this issue in the main branch:
Ignore newlines in expressions for Computed https://gerrit.sqlalchemy.org/c/sqlalchemy/alembic/+/5105
thanks for reporting
sorry for the process that may have a bit too much ceremony at times
Describe the bug When using ORM code that contains multi-line computed statements, they always generate warnings when being fed into Alembic. Like this:
Alembic will always complain with "UserWarning: Computed default on MyModel.start_holding cannot be modified".
Expected behavior No warning should appear as long as the expression does not change.
To Reproduce
Please try to provide a Minimal, Complete, and Verifiable example, with the migration script and/or the SQLAlchemy tables or models involved. See also Reporting Bugs on the website.
This is the model:
The reproduction does not work with sqlite, since it stores the SQL expressions verbatim, but the warning does appear for MySQL. Start a MySQL container:
Then initialize alembic and create a first revision:
Set the correct URL in the alembic.ini file:
Set the correct metadata in
env.py
:Generate a first revision and upgrade the database:
Now, when generating additional revisions, a warning will appear:
Error
Versions.
Additional context
Phew, that was a lot of work to write for a two-line PR!
Have a nice day!