vmware-nsx/vmware_nsx/db/migration/alembic_migrations/versions/newton/contract/5ed1ffbc0d2a_nsx_security_g...

58 lines
1.9 KiB
Python

# Copyright 2016 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
"""nsxv_security_group_logging
Revision ID: 5ed1ffbc0d2a
Revises: 3e4dccfe6fb4
Create Date: 2016-03-24 06:06:06.680092
"""
# revision identifiers, used by Alembic.
revision = '5ed1ffbc0d2a'
down_revision = '3c88bdea3054'
depends_on = ('3e4dccfe6fb4',)
from alembic import op
import sqlalchemy as sa
def upgrade():
secgroup_prop_table = sa.Table(
'nsx_extended_security_group_properties',
sa.MetaData(),
sa.Column('security_group_id', sa.String(36), nullable=False),
sa.Column('logging', sa.Boolean(), nullable=False))
op.bulk_insert(secgroup_prop_table, get_values())
op.drop_column('nsxv_security_group_section_mappings', 'logging')
def get_values():
values = []
session = sa.orm.Session(bind=op.get_bind())
section_mapping_table = sa.Table('nsxv_security_group_section_mappings',
sa.MetaData(),
sa.Column('neutron_id', sa.String(36)),
sa.Column('logging', sa.Boolean(),
nullable=False))
for row in session.query(section_mapping_table).all():
values.append({'security_group_id': row.neutron_id,
'logging': row.logging})
session.commit()
return values