From b3a45217bffa2fff2a395d5d8d6d57e3f23b0e4f Mon Sep 17 00:00:00 2001 From: Serg Melikyan Date: Fri, 9 Aug 2013 13:07:07 +0400 Subject: [PATCH] Merge all migrations to one Change-Id: Ie06bd46d5f3ea48ffa12aaa277326653c2f9d8da WARNING: Drop database before running --- .../versions/001_add_initial_tables.py | 52 ++++++++++++-- .../versions/002_add_session_table.py | 45 ------------ .../versions/003_add_status_table.py | 50 -------------- .../004_add_description_column_to_session.py | 31 --------- .../005_remove_obsolete_service_table.py | 45 ------------ .../006_add_entity_id_column_to_status.py | 31 --------- .../007_add_version_column_to_environment.py | 31 --------- .../008_add_version_column_to_session.py | 31 --------- .../versions/009_add_deployment_table.py | 45 ------------ ...umn_and_remove_session_column_to_status.py | 68 ------------------- ...11_add_description_column_to_deployment.py | 31 --------- ...add_details_and_level_columns_to_status.py | 39 ----------- 12 files changed, 45 insertions(+), 454 deletions(-) delete mode 100644 muranoapi/db/migrate_repo/versions/002_add_session_table.py delete mode 100644 muranoapi/db/migrate_repo/versions/003_add_status_table.py delete mode 100644 muranoapi/db/migrate_repo/versions/004_add_description_column_to_session.py delete mode 100644 muranoapi/db/migrate_repo/versions/005_remove_obsolete_service_table.py delete mode 100644 muranoapi/db/migrate_repo/versions/006_add_entity_id_column_to_status.py delete mode 100644 muranoapi/db/migrate_repo/versions/007_add_version_column_to_environment.py delete mode 100644 muranoapi/db/migrate_repo/versions/008_add_version_column_to_session.py delete mode 100644 muranoapi/db/migrate_repo/versions/009_add_deployment_table.py delete mode 100644 muranoapi/db/migrate_repo/versions/010_add_deployment_column_and_remove_session_column_to_status.py delete mode 100644 muranoapi/db/migrate_repo/versions/011_add_description_column_to_deployment.py delete mode 100644 muranoapi/db/migrate_repo/versions/012_add_details_and_level_columns_to_status.py diff --git a/muranoapi/db/migrate_repo/versions/001_add_initial_tables.py b/muranoapi/db/migrate_repo/versions/001_add_initial_tables.py index fe8258f66..877cd19e5 100644 --- a/muranoapi/db/migrate_repo/versions/001_add_initial_tables.py +++ b/muranoapi/db/migrate_repo/versions/001_add_initial_tables.py @@ -14,7 +14,7 @@ from migrate.changeset.constraint import ForeignKeyConstraint from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import String, Text, DateTime +from sqlalchemy.types import String, Text, DateTime, BigInteger meta = MetaData() @@ -30,22 +30,60 @@ def upgrade(migrate_engine): Column('created', DateTime(), nullable=False), Column('updated', DateTime(), nullable=False), Column('tenant_id', String(32), nullable=False), + Column('version', BigInteger, nullable=False, + server_default='0'), Column('description', Text(), nullable=False)) environment.create() - service = Table('service', meta, + session = Table('session', meta, Column('id', String(32), primary_key=True), - Column('name', String(255), nullable=False), - Column('type', String(40), nullable=False), Column('environment_id', String(32), nullable=False), Column('created', DateTime, nullable=False), Column('updated', DateTime, nullable=False), - Column('description', Text(), nullable=False)) - service.create() + Column('user_id', String(32), nullable=False), + Column('version', BigInteger, nullable=False, + server_default='0'), + Column('description', Text(), nullable=True, default='{}'), + Column('state', Text(), nullable=False)) + session.create() - ForeignKeyConstraint(columns=[service.c.environment_id], + environment = Table('environment', meta, autoload=True) + ForeignKeyConstraint(columns=[session.c.environment_id], refcolumns=[environment.c.id]).create() + deployment = Table('deployment', meta, + Column('id', String(32), primary_key=True), + Column('environment_id', String(32), nullable=False), + Column('created', DateTime, nullable=False), + Column('updated', DateTime, nullable=False), + Column('started', DateTime, nullable=False), + Column('description', Text(), nullable=True, + server_default='{}'), + Column('finished', DateTime, nullable=True)) + deployment.create() + + environment = Table('environment', meta, autoload=True) + ForeignKeyConstraint(columns=[deployment.c.environment_id], + refcolumns=[environment.c.id]).create() + + status = Table('status', meta, + Column('id', String(32), primary_key=True), + Column('created', DateTime, nullable=False), + Column('updated', DateTime, nullable=False), + Column('entity', String(10), nullable=False), + Column('entity_id', String(32), nullable=True), + Column('environment_id', String(32), nullable=True), + Column('deployment_id', String(32), nullable=False), + Column('text', Text(), nullable=False), + Column('details', Text(), nullable=True), + Column('level', String(32), nullable=False, + server_default='info') + ) + status.create() + + ForeignKeyConstraint(columns=[status.c.deployment_id], + refcolumns=[deployment.c.id]).create() + def downgrade(migrate_engine): meta.bind = migrate_engine diff --git a/muranoapi/db/migrate_repo/versions/002_add_session_table.py b/muranoapi/db/migrate_repo/versions/002_add_session_table.py deleted file mode 100644 index 334c8a09e..000000000 --- a/muranoapi/db/migrate_repo/versions/002_add_session_table.py +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. -from migrate.changeset.constraint import ForeignKeyConstraint - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import String, Text, DateTime - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - session = Table('session', meta, - Column('id', String(32), primary_key=True), - Column('environment_id', String(32), nullable=False), - Column('created', DateTime, nullable=False), - Column('updated', DateTime, nullable=False), - Column('user_id', String(32), nullable=False), - Column('state', Text(), nullable=False)) - session.create() - - environment = Table('environment', meta, autoload=True) - ForeignKeyConstraint(columns=[session.c.environment_id], - refcolumns=[environment.c.id]).create() - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - session = Table('session', meta, autoload=True) - session.drop() diff --git a/muranoapi/db/migrate_repo/versions/003_add_status_table.py b/muranoapi/db/migrate_repo/versions/003_add_status_table.py deleted file mode 100644 index b3628969a..000000000 --- a/muranoapi/db/migrate_repo/versions/003_add_status_table.py +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. -from migrate.changeset.constraint import ForeignKeyConstraint - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import String, Text, DateTime - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - status = Table('status', meta, - Column('id', String(32), primary_key=True), - Column('created', DateTime, nullable=False), - Column('updated', DateTime, nullable=False), - Column('entity', String(10), nullable=False), - Column('environment_id', String(32), nullable=False), - Column('session_id', String(32), nullable=False), - Column('text', Text(), nullable=False), - ) - status.create() - - environment = Table('environment', meta, autoload=True) - ForeignKeyConstraint(columns=[status.c.environment_id], - refcolumns=[environment.c.id]).create() - session = Table('session', meta, autoload=True) - ForeignKeyConstraint(columns=[status.c.session_id], - refcolumns=[session.c.id]).create() - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - status = Table('status', meta, autoload=True) - status.drop() diff --git a/muranoapi/db/migrate_repo/versions/004_add_description_column_to_session.py b/muranoapi/db/migrate_repo/versions/004_add_description_column_to_session.py deleted file mode 100644 index 3d62b4443..000000000 --- a/muranoapi/db/migrate_repo/versions/004_add_description_column_to_session.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import Text - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - session = Table('session', meta, autoload=True) - description = Column('description', Text(), nullable=True, default='{}') - description.create(session) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - session = Table('session', meta, autoload=True) - session.c.description.drop() diff --git a/muranoapi/db/migrate_repo/versions/005_remove_obsolete_service_table.py b/muranoapi/db/migrate_repo/versions/005_remove_obsolete_service_table.py deleted file mode 100644 index a58ce5031..000000000 --- a/muranoapi/db/migrate_repo/versions/005_remove_obsolete_service_table.py +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. -from migrate.changeset.constraint import ForeignKeyConstraint - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import String, DateTime, Text - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - service = Table('service', meta, autoload=True) - service.drop() - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - service = Table('service', meta, - Column('id', String(32), primary_key=True), - Column('name', String(255), nullable=False), - Column('type', String(40), nullable=False), - Column('environment_id', String(32), nullable=False), - Column('created', DateTime, nullable=False), - Column('updated', DateTime, nullable=False), - Column('description', Text(), nullable=False)) - service.create() - - environment = Table('environment', meta, autoload=True) - ForeignKeyConstraint(columns=[service.c.environment_id], - refcolumns=[environment.c.id]).create() diff --git a/muranoapi/db/migrate_repo/versions/006_add_entity_id_column_to_status.py b/muranoapi/db/migrate_repo/versions/006_add_entity_id_column_to_status.py deleted file mode 100644 index 3655b89b4..000000000 --- a/muranoapi/db/migrate_repo/versions/006_add_entity_id_column_to_status.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import String - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - status = Table('status', meta, autoload=True) - entity_id = Column('entity_id', String(32), nullable=True) - entity_id.create(status) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - status = Table('status', meta, autoload=True) - status.c.entity_id.drop() diff --git a/muranoapi/db/migrate_repo/versions/007_add_version_column_to_environment.py b/muranoapi/db/migrate_repo/versions/007_add_version_column_to_environment.py deleted file mode 100644 index 1f05922ab..000000000 --- a/muranoapi/db/migrate_repo/versions/007_add_version_column_to_environment.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import BigInteger - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - environment = Table('environment', meta, autoload=True) - version = Column('version', BigInteger, nullable=False, server_default='0') - version.create(environment) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - environment = Table('environment', meta, autoload=True) - environment.c.version.drop() diff --git a/muranoapi/db/migrate_repo/versions/008_add_version_column_to_session.py b/muranoapi/db/migrate_repo/versions/008_add_version_column_to_session.py deleted file mode 100644 index ca2b26729..000000000 --- a/muranoapi/db/migrate_repo/versions/008_add_version_column_to_session.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import BigInteger - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - session = Table('session', meta, autoload=True) - version = Column('version', BigInteger, nullable=False, server_default='0') - version.create(session) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - session = Table('session', meta, autoload=True) - session.c.version.drop() diff --git a/muranoapi/db/migrate_repo/versions/009_add_deployment_table.py b/muranoapi/db/migrate_repo/versions/009_add_deployment_table.py deleted file mode 100644 index d4aa37d6d..000000000 --- a/muranoapi/db/migrate_repo/versions/009_add_deployment_table.py +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. -from migrate.changeset.constraint import ForeignKeyConstraint - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import String, DateTime - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - deployment = Table('deployment', meta, - Column('id', String(32), primary_key=True), - Column('environment_id', String(32), nullable=False), - Column('created', DateTime, nullable=False), - Column('updated', DateTime, nullable=False), - Column('started', DateTime, nullable=False), - Column('finished', DateTime, nullable=True)) - deployment.create() - - environment = Table('environment', meta, autoload=True) - ForeignKeyConstraint(columns=[deployment.c.environment_id], - refcolumns=[environment.c.id]).create() - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - deployment = Table('deployment', meta, autoload=True) - deployment.drop() diff --git a/muranoapi/db/migrate_repo/versions/010_add_deployment_column_and_remove_session_column_to_status.py b/muranoapi/db/migrate_repo/versions/010_add_deployment_column_and_remove_session_column_to_status.py deleted file mode 100644 index cf93c28cb..000000000 --- a/muranoapi/db/migrate_repo/versions/010_add_deployment_column_and_remove_session_column_to_status.py +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. -from migrate.changeset.constraint import ForeignKeyConstraint - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import String - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - status = Table('status', meta, autoload=True) - environment = Table('environment', meta, autoload=True) - session = Table('session', meta, autoload=True) - deployment = Table('deployment', meta, autoload=True) - - deployment_id = Column('deployment_id', String(32), nullable=False) - deployment_id.create(status) - ForeignKeyConstraint(columns=[status.c.deployment_id], - refcolumns=[deployment.c.id]).create() - - ForeignKeyConstraint(columns=[status.c.environment_id], - refcolumns=[environment.c.id]).drop() - status.c.environment_id.drop() - ForeignKeyConstraint(columns=[status.c.session_id], - refcolumns=[session.c.id]).drop() - status.c.session_id.drop() - status.c.entity.alter(nullable=True) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - status = Table('status', meta, autoload=True) - environment = Table('environment', meta, autoload=True) - session = Table('session', meta, autoload=True) - deployment = Table('deployment', meta, autoload=True) - - ForeignKeyConstraint(columns=[status.c.deployment_id], - refcolumns=[deployment.c.id]).drop() - status.c.deployment_id.drop() - - environment_id = Column('environment_id', String(32), nullable=False) - environment_id.create(status) - ForeignKeyConstraint(columns=[status.c.environment_id], - refcolumns=[environment.c.id]).create() - - session_id = Column('session_id', String(32), nullable=False) - session_id.create(status) - ForeignKeyConstraint(columns=[status.c.session_id], - refcolumns=[session.c.id]).create() - - status.c.entity.alter(nullable=False) diff --git a/muranoapi/db/migrate_repo/versions/011_add_description_column_to_deployment.py b/muranoapi/db/migrate_repo/versions/011_add_description_column_to_deployment.py deleted file mode 100644 index 774e966ea..000000000 --- a/muranoapi/db/migrate_repo/versions/011_add_description_column_to_deployment.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import Text - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - deployment = Table('deployment', meta, autoload=True) - description = Column('description', Text(), nullable=True, default='{}') - description.create(deployment) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - deployment = Table('deployment', meta, autoload=True) - deployment.c.description.drop() diff --git a/muranoapi/db/migrate_repo/versions/012_add_details_and_level_columns_to_status.py b/muranoapi/db/migrate_repo/versions/012_add_details_and_level_columns_to_status.py deleted file mode 100644 index 9301a65cb..000000000 --- a/muranoapi/db/migrate_repo/versions/012_add_details_and_level_columns_to_status.py +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (c) 2013 Mirantis, Inc. -# -# 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. - -from sqlalchemy.schema import MetaData, Table, Column -from sqlalchemy.types import Text, String - -meta = MetaData() - - -def upgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - status = Table('status', meta, autoload=True) - details = Column('details', Text(), nullable=True) - level = Column('level', String(32), nullable=False, server_default='info') - - details.create(status) - level.create(status) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - meta.reflect() - - status = Table('status', meta, autoload=True) - status.c.details.drop() - status.c.level.drop()