]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Block subtractive operations in DB migrations
authorMichał Dulko <michal.dulko@intel.com>
Mon, 5 Oct 2015 15:03:39 +0000 (17:03 +0200)
committerMichał Dulko <michal.dulko@intel.com>
Mon, 7 Mar 2016 09:10:44 +0000 (10:10 +0100)
commit0d4bd0dc79d54b3c739c09668335a23ca498a1ba
tree1ca4ba65e341e256ecdaf05b9a0bc4c71c0c613b
parente26155183e8becc86b91d875a316590d3954c0ce
Block subtractive operations in DB migrations

To achieve rolling upgrades we need to make non-backward-compatible DB schema
migrations in a very specific manner that spans through 3 releases. In
particular we need to be very careful when dropping or altering columns
and tables.

This commit adds a test that blocks all the ALTER and DROP operations
from DB migrations. It allows to specify exceptions from this rule for two
purposes:
* Some DROP/ALTER migrations aren't subtractive (e.g. dropping a
  constraint).
* When following the process we've designed for non-backward-compatible
  migrations, we should be able to drop first unused columns or tables
  in O release.

The test is based on similar one implemented in Nova.

Implements: bp online-schema-upgrades

Change-Id: I07df721e5505abe17e45427c05b985b7e923a010
cinder/tests/unit/test_migrations.py