# flake8: noqa # Copyright 2015 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. """Initial base for Gnocchi 1.0.0 Revision ID: 1c98ac614015 Revises: Create Date: 2015-04-27 16:05:13.530625 """ # revision identifiers, used by Alembic. revision = '1c98ac614015' down_revision = None branch_labels = None depends_on = None from alembic import op import sqlalchemy as sa import sqlalchemy_utils import gnocchi.indexer.sqlalchemy_base def upgrade(): op.create_table('resource', sa.Column('type', sa.Enum('generic', 'instance', 'swift_account', 'volume', 'ceph_account', 'network', 'identity', 'ipmi', 'stack', 'image', name='resource_type_enum'), nullable=False), sa.Column('created_by_user_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('created_by_project_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('started_at', gnocchi.indexer.sqlalchemy_base.PreciseTimestamp(), nullable=False), sa.Column('revision_start', gnocchi.indexer.sqlalchemy_base.PreciseTimestamp(), nullable=False), sa.Column('ended_at', gnocchi.indexer.sqlalchemy_base.PreciseTimestamp(), nullable=True), sa.Column('user_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('project_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_resource_id', 'resource', ['id'], unique=False) op.create_table('archive_policy', sa.Column('name', sa.String(length=255), nullable=False), sa.Column('back_window', sa.Integer(), nullable=False), sa.Column('definition', gnocchi.indexer.sqlalchemy_base.ArchivePolicyDefinitionType(), nullable=False), sa.Column('aggregation_methods', gnocchi.indexer.sqlalchemy_base.SetType(), nullable=False), sa.PrimaryKeyConstraint('name'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_archive_policy_name', 'archive_policy', ['name'], unique=False) op.create_table('volume', sa.Column('display_name', sa.String(length=255), nullable=False), sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_volume_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_volume_id', 'volume', ['id'], unique=False) op.create_table('instance', sa.Column('flavor_id', sa.Integer(), nullable=False), sa.Column('image_ref', sa.String(length=255), nullable=False), sa.Column('host', sa.String(length=255), nullable=False), sa.Column('display_name', sa.String(length=255), nullable=False), sa.Column('server_group', sa.String(length=255), nullable=True), sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_instance_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_instance_id', 'instance', ['id'], unique=False) op.create_table('stack', sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_stack_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_stack_id', 'stack', ['id'], unique=False) op.create_table('archive_policy_rule', sa.Column('name', sa.String(length=255), nullable=False), sa.Column('archive_policy_name', sa.String(length=255), nullable=False), sa.Column('metric_pattern', sa.String(length=255), nullable=False), sa.ForeignKeyConstraint(['archive_policy_name'], ['archive_policy.name'], name="fk_archive_policy_rule_archive_policy_name_archive_policy_name", ondelete='RESTRICT'), sa.PrimaryKeyConstraint('name'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_archive_policy_rule_name', 'archive_policy_rule', ['name'], unique=False) op.create_table('swift_account', sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_swift_account_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_swift_account_id', 'swift_account', ['id'], unique=False) op.create_table('ceph_account', sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_ceph_account_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_ceph_account_id', 'ceph_account', ['id'], unique=False) op.create_table('ipmi', sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_ipmi_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_ipmi_id', 'ipmi', ['id'], unique=False) op.create_table('image', sa.Column('name', sa.String(length=255), nullable=False), sa.Column('container_format', sa.String(length=255), nullable=False), sa.Column('disk_format', sa.String(length=255), nullable=False), sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_image_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_image_id', 'image', ['id'], unique=False) op.create_table('resource_history', sa.Column('type', sa.Enum('generic', 'instance', 'swift_account', 'volume', 'ceph_account', 'network', 'identity', 'ipmi', 'stack', 'image', name='resource_type_enum'), nullable=False), sa.Column('created_by_user_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('created_by_project_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('started_at', gnocchi.indexer.sqlalchemy_base.PreciseTimestamp(), nullable=False), sa.Column('revision_start', gnocchi.indexer.sqlalchemy_base.PreciseTimestamp(), nullable=False), sa.Column('ended_at', gnocchi.indexer.sqlalchemy_base.PreciseTimestamp(), nullable=True), sa.Column('user_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('project_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('revision', sa.Integer(), nullable=False), sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.Column('revision_end', gnocchi.indexer.sqlalchemy_base.PreciseTimestamp(), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_resource_history_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_resource_history_id', 'resource_history', ['id'], unique=False) op.create_table('identity', sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_identity_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_identity_id', 'identity', ['id'], unique=False) op.create_table('network', sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.ForeignKeyConstraint(['id'], ['resource.id'], name="fk_network_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_network_id', 'network', ['id'], unique=False) op.create_table('metric', sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=False), sa.Column('archive_policy_name', sa.String(length=255), nullable=False), sa.Column('created_by_user_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('created_by_project_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('resource_id', sqlalchemy_utils.types.uuid.UUIDType(binary=False), nullable=True), sa.Column('name', sa.String(length=255), nullable=True), sa.ForeignKeyConstraint(['archive_policy_name'], ['archive_policy.name'], name="fk_metric_archive_policy_name_archive_policy_name", ondelete='RESTRICT'), sa.ForeignKeyConstraint(['resource_id'], ['resource.id'], name="fk_metric_resource_id_resource_id", ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('resource_id', 'name', name='uniq_metric0resource_id0name'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_metric_id', 'metric', ['id'], unique=False) op.create_table('identity_history', sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_identity_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_identity_history_revision', 'identity_history', ['revision'], unique=False) op.create_table('instance_history', sa.Column('flavor_id', sa.Integer(), nullable=False), sa.Column('image_ref', sa.String(length=255), nullable=False), sa.Column('host', sa.String(length=255), nullable=False), sa.Column('display_name', sa.String(length=255), nullable=False), sa.Column('server_group', sa.String(length=255), nullable=True), sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_instance_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_instance_history_revision', 'instance_history', ['revision'], unique=False) op.create_table('network_history', sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_network_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_network_history_revision', 'network_history', ['revision'], unique=False) op.create_table('swift_account_history', sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_swift_account_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_swift_account_history_revision', 'swift_account_history', ['revision'], unique=False) op.create_table('ceph_account_history', sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_ceph_account_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_ceph_account_history_revision', 'ceph_account_history', ['revision'], unique=False) op.create_table('ipmi_history', sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_ipmi_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_ipmi_history_revision', 'ipmi_history', ['revision'], unique=False) op.create_table('image_history', sa.Column('name', sa.String(length=255), nullable=False), sa.Column('container_format', sa.String(length=255), nullable=False), sa.Column('disk_format', sa.String(length=255), nullable=False), sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_image_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_image_history_revision', 'image_history', ['revision'], unique=False) op.create_table('stack_history', sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_stack_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_stack_history_revision', 'stack_history', ['revision'], unique=False) op.create_table('volume_history', sa.Column('display_name', sa.String(length=255), nullable=False), sa.Column('revision', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['revision'], ['resource_history.revision'], name="fk_volume_history_resource_history_revision", ondelete='CASCADE'), sa.PrimaryKeyConstraint('revision'), mysql_charset='utf8', mysql_engine='InnoDB' ) op.create_index('ix_volume_history_revision', 'volume_history', ['revision'], unique=False)