sqlalchemy-migrate does not support SQLAlchemy 2.x and we're not going
to invest the time in changing this. Remove integration of
sqlalchemy-migrate in oslo.db, allowing us to support SQLAlchemy 2.x
fully.
Note that we do not remove the 'migration_cli' module entirely yet.
While this is deprecated, it is possible to use this with alembic.
New users shouldn't be switching to it, but any existing users can
continue to use this module for some time yet.
Change-Id: Ic3d6bd318038d723b0d50d39e45f8e26289e9a57
Sem-Ver: api-break
We've started using sqlalchemy features that were introduced in 1.4,
which means we need to bump our lower constraint. Do this now.
At some point, we probably want to dump all lower-constraint information
from these files since it's no longer maintainable without the
equivalent job. That's a task left to later, however.
Change-Id: I8629225eeb51d95264d8a3e4b719268bb1597f4f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
No need for this in a Python 3-only world.
Change-Id: I8923f2b87c1bd114b8c55210100c7485a0de8f28
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Per [1], this is the latest supported version of SQLAlchemy. 1.1.x and
earlier are EOL.
[1] https://www.sqlalchemy.org/download.html#relstatus
Change-Id: I63e4baf772be9ddfb787ac3aff01fcaddf7b901c
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Added a new test case that covers comparison of a MySQL server default
defined as text("0") in the model as well as in the database. The
MySQL default comaprison logic in oslo.db was not accommodating of the
model side here being a text() construct. As modern Alembic
versions supports most of the use cases tested here,
remove all server defaut comparison logic except for the boolean
comparison workaround.
Alembic minimum is bumped to 0.9.6; the issue repaired between
0.8.10 and 0.9.6 is http://alembic.zzzcomputing.com/en/latest/
changelog.html#change-5459a7552a17d8b658f0f710bedf6da0
Depends-on: I1a8244edae47b04b7b1fed54e577d6534945bcd8
Closes-bug: #1776527
Change-Id: I48a103e28d86128ea84466da4d9d6faab1dd9a9d
oslo.db is consumed by the test suites of downstream libraries
as a test dependency; they make use of the oslo_db.sqlalchemy.test_fixtures
module which imports testresources and testscenarios, therefore
these are normal requirements of oslo.db; they are not limited
to test requirements.
Change-Id: I240fbc28ddf238614ff37e742a1415a5566bcd2d
Closes-bug: #1756352
debtcollector is used by oslo.db at runtime, but is not currently
mentioned in requirements.txt explicitly (which effectively means
it's installed as a transitive dependency now).
This fixes tox -epip-missing-reqs run. A follow up change to
project-config will make sure we run this check in the gate.
Closes-Bug: #1571739
Change-Id: I564030830708da5c8a18f0c8a127ae74d54ead39