]> git.decadent.org.uk Git - dak.git/commit
Work with newer SQLAlchemy versions
authorAnsgar Burchardt <ansgar@debian.org>
Sun, 1 May 2016 14:48:22 +0000 (16:48 +0200)
committerAnsgar Burchardt <ansgar@debian.org>
Sun, 1 May 2016 14:48:22 +0000 (16:48 +0200)
commite1efe0c5ee9f7568a28fff59cab0e3cd4319f37e
treee143fe1f4a99eb4c7533e9dd89e138899f445eff
parent2e2d8e7081496b3214a31a8dc1d85f8b84dff6a8
Work with newer SQLAlchemy versions

Newer SQLAlchemy versions seem to track the `binary` attribute of
`BinaryMetadata`.  This means the association proxy in `DBBinary`
would first create a `BinaryMetadata` with `binary` set to `None`,
flush this to the database and then set the actual value of `binary`
we want.  However the flush fails, as `NULL` is not allowed for the
`binary_id` column.

The problem can be avoided by not setting `binary` to `None`.  This is
treated as an "undefined value" by SQLAlchemy and changing it later
means the database row never sees `NULL`.

The same applies to the `source` attribute of `SourceMetadata`.
daklib/dbconn.py