Fix add_is_default_to_subnetpool migration

add_is_default_to_subnetpool migration[1] is not working with a
non-empty subnetpool table because it adds a new non-nullable column
(is_default) to subnetpool table without a default value.

This change adds a server_default value to is_default column in
subnetpool table and updates associated db migration.

[1] neutron/db/migration/alembic_migrations/versions/mitaka/expand/\
     13cfb89f881a_add_is_default_to_subnetpool.py

Closes-Bug: #1557757
Change-Id: Ib0b2ac061d21a7d908f14b399b0bba06d94b7241
This commit is contained in:
Cedric Brandily 2016-03-15 22:50:19 +01:00
parent 2413ab2979
commit 79bc54a2d8
2 changed files with 5 additions and 1 deletions

View File

@ -27,10 +27,12 @@ down_revision = '59cb5b6cf4d'
from alembic import op from alembic import op
import sqlalchemy as sa import sqlalchemy as sa
from sqlalchemy import sql
def upgrade(): def upgrade():
op.add_column('subnetpools', op.add_column('subnetpools',
sa.Column('is_default', sa.Column('is_default',
sa.Boolean(), sa.Boolean(),
server_default=sql.false(),
nullable=False)) nullable=False))

View File

@ -15,6 +15,7 @@
import sqlalchemy as sa import sqlalchemy as sa
from sqlalchemy import orm from sqlalchemy import orm
from sqlalchemy import sql
from neutron.api.v2 import attributes as attr from neutron.api.v2 import attributes as attr
from neutron.common import constants from neutron.common import constants
@ -248,7 +249,8 @@ class SubnetPool(model_base.HasStandardAttributes, model_base.BASEV2,
min_prefixlen = sa.Column(sa.Integer, nullable=False) min_prefixlen = sa.Column(sa.Integer, nullable=False)
max_prefixlen = sa.Column(sa.Integer, nullable=False) max_prefixlen = sa.Column(sa.Integer, nullable=False)
shared = sa.Column(sa.Boolean, nullable=False) shared = sa.Column(sa.Boolean, nullable=False)
is_default = sa.Column(sa.Boolean, nullable=False) is_default = sa.Column(sa.Boolean, nullable=False,
server_default=sql.false())
default_quota = sa.Column(sa.Integer, nullable=True) default_quota = sa.Column(sa.Integer, nullable=True)
hash = sa.Column(sa.String(36), nullable=False, server_default='') hash = sa.Column(sa.String(36), nullable=False, server_default='')
address_scope_id = sa.Column(sa.String(36), nullable=True) address_scope_id = sa.Column(sa.String(36), nullable=True)