Unexpected warning for computed column when migrating with MariaDB
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia da alembic/autogenerate/compare.py intorno alla riga 1029 e riproduci la seconda esecuzione di flask db migrate con l’esempio di colonna calcolata di MariaDB. Confronta i metadati e i valori predefiniti della connessione mostrati nel report; il lavoro è completato quando lo schema invariato non genera alcun avviso e continua a segnalare che non ci sono modifiche allo schema.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Warning is emitted when generating migration for model with computed column.
Expected behavior
No warning emitted.
To Reproduce
Code
# app.py
import os
import flask
import flask_sqlalchemy as fsa
import flask_migrate as fm
import sqlalchemy as sa
app = flask.Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = (
f'mariadb+pymysql://{os.environ['DB_USER']}:{os.environ['DB_PASSWORD']}'
'@localhost:{os.environ['DB_PORT']}/{os.environ['DB_NAME']}'
)
db = fsa.SQLAlchemy(app)
migrate = fm.Migrate(app, db)
class RecordWithComputed(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
created_at = sa.Column(sa.DateTime, nullable=False)
deleted_at = sa.Column(sa.DateTime)
is_active_record = sa.Column(sa.Boolean, sa.Computed('CASE WHEN deleted_at IS NULL THEN TRUE ELSE NULL END'))
Steps to reproduce
- Create and apply first migration.
- Try creating second migration.
Error
Output for first migration
flask db migrate -m "first migration"
INFO [alembic.runtime.migration] Context impl MariaDBImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.autogenerate.compare] Detected added table 'record_with_computed'
Generating /Users/eganma/junk/computed-column-warning/migrations/versions/15d57df5db98_first_migration.py ... done
Output for second migration (no changes made to app.py)
flask db migrate -m "second migration"
INFO [alembic.runtime.migration] Context impl MariaDBImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
/Users/eganma/Library/Caches/pypoetry/virtualenvs/computed-column-warning-swI5pdsd-py3.12/lib/python3.12/site-packages/alembic/autogenerate/compare.py:1034: UserWarning: Computed default on record_with_computed.is_active_record cannot be modified
util.warn("Computed default on %s.%s cannot be modified" % (tname, cname))
INFO [alembic.env] No changes in schema detected.
Strings being compared at compare.py:1029
rendered_metadata_default = 'casewhendeleted_atisnullthentrueelsenullend'
rendered_conn_default = 'casewhendeleted_atisnullthen1elsenullend'
Versions.
- OS: macOS
- Python: 3.12.0
- Alembic: 1.14.1
- SQLAlchemy: 2.0.38
- Database: MariaDB 10.11.6
- DBAPI: pymysql 1.1.1
Additional context
Doesn't look like this is causing problems for me at this time, but previous reports I found (#1151, #1462) were focused on postgres. Issue seems to stem from TRUE being reported as the boolean equivalent 1 when comparing the model against the schema.
- Lingua principale
- Python
- Stelle
- 4.5k
- Fork
- 391
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sqlalchemy/alembic
-
on_version_apply is typed as a positional callable, but alembic calls it with keyword argumentsForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
sqlalchemy/alembic#1883 · 1 commento ·
-
Revision message is rendered unescaped into the migration docstring; triple quotes and backslashes break the generated scriptForse di nuovo libera @ApparentlyTejas l’ha presa 21 giorni fa e non c’è nessuna pull request aperta. Apertabug command interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
sqlalchemy/alembic#1879 · 3 commenti ·
-
bug pep 484
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
sqlalchemy/alembic#1341 · 2 commenti ·
-
autogenerate - detection bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
sqlalchemy/alembic#1121 · 3 commenti ·
-
Identity and Computed comparison skipped when compare_server_default is not set, as of 1.18.0Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertaautogenerate - defaults bug regression
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
sqlalchemy/alembic#1877 · 1 commento ·
Tutte le issue di sqlalchemy/alembic
Issue simili
-
SslLibrary crashes with unhandled OSError: port/proto not found on non-standard SSL portsForse già presa @himanchalkaushale l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
OWASP/Nettacker#1884 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
A-connection-core C-enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
aws-samples/sample-per-model-bedrock#869 ·
I maintainer di solito rispondono entro 1 giorno
-
Spec: say that included_antigen_sources gates LENS labels; do not merge it into antigen kindsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
fzn0x/watchtower#17 ·