c77e43804c6768f6ace028c33c1cb204febae483
[moon.git] /
1 # Copyright 2014 IBM Corp.
2 #
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
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
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
13 # under the License.
14
15 import sqlalchemy as sql
16
17
18 def upgrade(migrate_engine):
19     # Upgrade operations go here. Don't create your own engine; bind
20     # migrate_engine to your metadata
21     meta = sql.MetaData()
22     meta.bind = migrate_engine
23
24     endpoint_policy_table = sql.Table(
25         'policy_association',
26         meta,
27         sql.Column('id', sql.String(64), primary_key=True),
28         sql.Column('policy_id', sql.String(64),
29                    nullable=False),
30         sql.Column('endpoint_id', sql.String(64),
31                    nullable=True),
32         sql.Column('service_id', sql.String(64),
33                    nullable=True),
34         sql.Column('region_id', sql.String(64),
35                    nullable=True),
36         sql.UniqueConstraint('endpoint_id', 'service_id', 'region_id'),
37         mysql_engine='InnoDB',
38         mysql_charset='utf8')
39
40     endpoint_policy_table.create(migrate_engine, checkfirst=True)
41
42
43 def downgrade(migrate_engine):
44     meta = sql.MetaData()
45     meta.bind = migrate_engine
46     # Operations to reverse the above upgrade go here.
47     table = sql.Table('policy_association', meta, autoload=True)
48     table.drop()