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