[openstack-dev] [Ceilometer] Need help with Alembic...

Jay Pipes jaypipes at gmail.com
Mon Aug 26 19:15:37 UTC 2013

I just noticed that every single test case for SQL-driver storage is 
executing every single migration upgrade before every single test case run:



instead of simply creating a new database schema from the models in the 
current source code base using a call to sqlalchemy.MetaData.create_all().

This results in re-running migrations over and over again, instead of 
having dedicated migration tests that would test each migration 
individually, as is the case in projects like Glance...

Is this intentional?


On 08/26/2013 02:59 PM, Sandy Walsh wrote:
> I'm getting the same problem with a different migration (mine is
> complaining that a column already exists)
> http://paste.openstack.org/show/44512/
> I've compared it to the other migrations and it seems fine.
> -S
> On 08/26/2013 02:34 PM, Jay Pipes wrote:
>> Hey all,
>> I'm trying to figure out what is going wrong with my code for this patch:
>> https://review.openstack.org/41316
>> I had previously added a sqlalchemy-migrate migration script to add an
>> event_type table, and had that working, but then was asked to instead
>> use Alembic for migrations. So, I removed the sqlalchemy-migrate
>> migration file and added an Alembic migration [1].
>> Unfortunately, I am getting the following error when running tests:
>> OperationalError: (OperationalError) table event_type already exists
>> u'\nCREATE TABLE event_type (\n\tid INTEGER NOT NULL, \n\t"desc"
>> VARCHAR(255), \n\tPRIMARY KEY (id), \n\tUNIQUE ("desc")\n)\n\n' ()
>> The migration adds the event_type table. I've seen this error occur
>> before when using SQLite due to SQLite's ALTER TABLE statement not
>> allowing the rename of a column. In the sqlalchemy-migrate migration, I
>> had a specialized SQLite migration upgrade [2] and downgrade [3] script,
>> but I'm not sure how I am supposed to handle this in Alembic. Could
>> someone help me out?
>> Thanks,
>> -jay
>> [1]
>> https://review.openstack.org/#/c/41316/16/ceilometer/storage/sqlalchemy/alembic/versions/49036daaaafd_add_event_types.py
>> [2]
>> https://review.openstack.org/#/c/41316/14/ceilometer/storage/sqlalchemy/migrate_repo/versions/013_sqlite_upgrade.sql
>> [3]
>> https://review.openstack.org/#/c/41316/14/ceilometer/storage/sqlalchemy/migrate_repo/versions/013_sqlite_downgrade.sql
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

More information about the OpenStack-dev mailing list