We're using a Flask extension to work with sqlalchemy called flask-sqlalchemy. The engine is usually not directly exposed but echo can be enabled using a configuration var <https://github.com/pyfarm/pyfarm-master/commit/5d0abc03273f0fcce3c7d2cf44ef8981dd31aa41> which should have the same impact in terms of logging the sql statements. This time around I only ran the tests for one module because we hit Travis's 4MB log limit in a couple of seconds when running all the tests at once. I can run the full test suite locally and upload that log output somewhere if you need it.
Otherwise, here's the failures when using 3e80d628bd133d0fd0687e35b8d13abd1d31d6df (search for 'IntegrityError'): https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494875/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494876/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494877/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494878/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494880/log.txt But, it also passed once too (like the test I did yesterday): https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494879/log.txt All of the above are from this Travis job: https://travis-ci.org/pyfarm/pyfarm-master/builds/59494874 And with sqlalchemy 0.9.9. Same tests and logging configuration just consistently passing compared to the above: https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494606/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494607/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494609/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494610/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/59494611/log.txt Here's the original Travis job for those: https://travis-ci.org/pyfarm/pyfarm-master/builds/59494605 By the way, thanks a bunch helping us taking a look at this. On Tuesday, April 21, 2015 at 11:42:30 AM UTC-4, Michael Bayer wrote: > > > > On 4/21/15 11:19 AM, Guido Winkelmann wrote: > > On Tuesday 21 April 2015 09:43:51 Mike Bayer wrote: > >> On 4/21/15 6:45 AM, Guido Winkelmann wrote: > >>> On Monday 20 April 2015 21:57:40 Oliver Palmer wrote: > >>> [...] > >>> > >>>> So I got to thinking about what we're doing differently with sqlite > and > >>>> > >>>> this bit of code comes to mind: > >>>> # sqlite specific configuration for development > >>>> > >>>> if db.engine.name == "sqlite": > >>>> @event.listens_for(Engine, "connect") > >>>> > >>>> def set_sqlite_pragma(dbapi_connection, connection_record): > >>>> cursor = dbapi_connection.cursor() > >>>> cursor.execute("PRAGMA foreign_keys=ON") > >>>> cursor.execute("PRAGMA synchronous=OFF") > >>>> cursor.execute("PRAGMA journal_mode=MEMORY") > >>>> cursor.close() > >>>> > >>>> If I comment the above out in our application.py > >>>> < > https://github.com/pyfarm/pyfarm-master/blob/f22912cd7d89b93c146801fd1575 > >>>> ff0 6f4883724/pyfarm/master/application.py#L208> module the second > >>>> nosetests example above works without issues. > >>> This looks to me like you are "fixing" the problem by just not > enabling > >>> foreign key support in sqlite. Since the problem was a foreign key > >>> violation, telling sqlite to not bother enforcing those will make it > so we > >>> don't see the problem in the tests anymore, but it doesn't fix > whatever is > >>> going on here... > >> what is needed here is actual logging of the tables as they are being > >> dropped. The claim here is that the ordering of the tables is wrong in > >> 1.0.0. So can we please see the full list of DROP statements logged > for > >> both the 0.9.9 version and the 1.0.0 version? > > Can you help me with that? I don't know how to make SQLAlchemy log all > its > > DROP statements. > logging is through the standard Python logging system, or alternatively > the echo=True flag on create_engine() as a shortcut, but for a travis > build I'd imagine that logging and stdout might already be routed around. > > > http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html?highlight=logging#configuring-logging > > > > > > > > > > Guido W. > > > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.