Deprecate the 'oslo_db.sqlalchemy.migration_cli' module

This API allowed users to abstract the differences between
sqlalchemy-migrate and alembic. However, no one is using it for that and
its continued existence necessitates continued support for
sqlalchemy-migrate. Deprecate it now and encourage the odd user to
switch to alembic directly.

Change-Id: Ia5979369f23b38a2c7307f4112651a8bedb45c01
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane 2020-10-30 10:27:57 +00:00
parent fc85587523
commit 642dac165f
2 changed files with 13 additions and 0 deletions

View File

@ -10,6 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from debtcollector import removals
import sqlalchemy
from stevedore import enabled
@ -24,6 +25,12 @@ def check_plugin_enabled(ext):
return ext.obj.enabled
@removals.remove(
message='Support for sqlalchemy-migrate and with it the migration manager '
'is deprecated for removal; consider migrating to and using alembic '
'directly',
version='8.3.0'
)
class MigrationManager(object):
def __init__(self, migration_config, engine=None):

View File

@ -6,3 +6,9 @@ deprecations:
development and has been effectively replaced by ``alembic``. Users of
this module should consider switching to ``alembic`` or, if necessary,
using ``sqlalchemy-migrate`` directly.
- |
The ``oslo_db.sqlalchemy.migration_cli`` module is deprecated for removal.
It was intended to provide an abstraction layer over different migration
backends - specifically ``sqlalchemy-migrate`` and ``alembic`` - however,
takeup has been limited and its expected that users will use ``alembic``
directly nowadays.