1 # Copyright 2014 OpenStack Foundation
3 # Licensed under the Apache License, Version 2.0 (the "License"); you may
4 # not use this file except in compliance with the License. You may obtain
5 # a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 # License for the specific language governing permissions and limitations
16 """set_length_of_description_field_metering
18 Revision ID: 33c3db036fe4
20 Create Date: 2014-03-25 11:04:27.341830
24 # revision identifiers, used by Alembic.
25 revision = '33c3db036fe4'
26 down_revision = 'b65aa907aec'
28 # Change to ['*'] if this migration applies to all plugins
30 migration_for_plugins = [
31 'neutron.services.metering.metering_plugin.MeteringPlugin'
34 from alembic import op
35 import sqlalchemy as sa
37 from neutron.db import migration
40 def upgrade(active_plugins=None, options=None):
41 if not migration.should_run(active_plugins, migration_for_plugins):
44 if op.get_bind().engine.dialect.name == 'postgresql':
45 migration.create_table_if_not_exist_psql(
47 "(tenant_id VARCHAR(255) NULL, "
48 "id VARCHAR(36) PRIMARY KEY NOT NULL, "
49 "name VARCHAR(255) NULL, "
50 "description VARCHAR(255) NULL)")
52 op.execute("CREATE TABLE IF NOT EXISTS meteringlabels( "
53 "tenant_id VARCHAR(255) NULL, "
54 "id VARCHAR(36) PRIMARY KEY NOT NULL, "
55 "name VARCHAR(255) NULL, "
56 "description VARCHAR(255) NULL)")
58 op.alter_column('meteringlabels', 'description', type_=sa.String(1024),
59 existing_nullable=True)
62 def downgrade(active_plugins=None, options=None):
63 if not migration.should_run(active_plugins, migration_for_plugins):