On Tue, Jul 16, 2013 at 10:51 AM, Roman Podolyaka <rpodoly...@mirantis.com>wrote:
> Hello, stackers! > > Most of you who is interested in work around DB in OpenStack must have > read this thread [1] started by Boris Pavlovic. Boris made an overview of > the work our team is doing to make DB code better. > > One of our main goals is to switch from sqlalchemy-migrate to Alembic for > applying of DB schema migrations. sqlalchemy-migrate was abandoned for a > long time, and even now when it's become adopted by OpenStack community, > we'd better use a project which is supported by upstream (especially in the > case when the author of this project is the same person who also authored > SQLAlchemy). > > The switch isn't going to be simple though. We have a few problems: > > 1) stable releases must be supported for some time, so we can't switch > from migrate to alembic immediately > > The switch should probably be made when previous migrations scripts are > "compacted", so all new migrations scripts will use alembic. Switching of > such big projects as Nova is hard, so we decided to gain some experience > with porting of smaller ones first. Alexei Kornienko is currently working > on adding support of Alembic migrations in Ceilometer [3]. > > Our long term goal is to switch all projects from using of > sqlalchemy-migrate to Alembic. > > 2) we rely on schema migrations to set up an SQLite database for running > tests > > Nova and possibly other projects use schema migrations to set up an SQLite > database for running tests. Unfortunately, we can't use models definitions > for generation of initial DB schema, because those definitions do not > correspond migration scripts. Our team is working on fixing of this issue > [2]. > > As you may now SQLite has limited support of ALTER DDL statements [4]. > Nova code contains a few auxiliary functions to make ALTER work in SQLite. > Unfortunately, Alembic doesn't support ALTER in SQLite on purpose [5]. In > order to run our tests on SQLite right now using Alembic as a schema > migration tool, we should add ALTER support to it first. > > We are going to implement ALTER support in Alembic for SQLite in the next > few weeks. > I'm a little lost on this ... sqlite doesn't support ALTER, so what exactly is being added to alembic? Is the alembic community receptive or interested? > > As always, your comments in ML and reviews are always welcome. > > Thanks, > Roman > > [1] > http://lists.openstack.org/pipermail/openstack-dev/2013-July/011253.html > [2] > https://blueprints.launchpad.net/nova/+spec/db-sync-models-with-migrations > [3] > https://review.openstack.org/#/q/status:open+project:openstack/ceilometer+branch:master+topic:bp/convert-to-alembic,n,z > [4] http://www.sqlite.org/lang_altertable.html > [5] https://bitbucket.org/zzzeek/alembic > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > -- -Dolph
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev