2011-11-08 15 views
8

Desidero modificare le impostazioni di sqlalchemy per generare un'eccezione sugli avvisi.Come posso informare sqlalchemy per generare un errore ogni volta che MySQL lancia un avvertimento?

Ad esempio, quando inserisco una quantità maggiore di dati in un campo rispetto alla lunghezza della colonna definita, mysql troncherà i dati, inserirà i dati troncati nel campo ed emetterà un avviso.

Invece dell'avviso, vorrei che sqlalchemy rilasci un errore appropriato per conto di mysql.

+0

Vedi anche: http://stackoverflow.com/questions/2102251/trapping-a-mysql-warning – tiho

risposta

5

Per attivare gli avvisi di errore "oh by the way ho manipolato i dati", impostare un valore appropriato per server mode per MySQL. Con SQLAlchemy, dovresti scegliere ANSI, poiché probabilmente non devi preoccuparti che le tue vecchie query siano compatibili con alcune interrotte Comportamento specifico di MySQL.

Vedere il SQLAlchemy docs su come farlo.


(Considera anche utilizzando un database che è rigorosa per default Postgres viene in mente..)

+2

Grazie Petr viktorin, 'set sql_mode =" TRADITIONAL ";' ha funzionato! – shahjapan

Problemi correlati