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

https://github.com/openstack/ceilometer/blob/master/ceilometer/tests/db.py#L46

https://github.com/openstack/ceilometer/blob/master/ceilometer/storage/impl_sqlalchemy.py#L153

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?

Best,
-jay

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@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to