30b0101584
This attempts to insert a temporary entry into each enum table until it succeeds. It re-synchronizes the postgres sequence generators with the max id of the table. Fixes #883 and #880
518 lines
26 KiB
Python
518 lines
26 KiB
Python
"""Set up initial database
|
|
|
|
Revision ID: 5a07499ce53f
|
|
Revises: None
|
|
Create Date: 2014-05-13 11:26:51.808426
|
|
|
|
"""
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '5a07499ce53f'
|
|
down_revision = None
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
def upgrade(tables):
|
|
### commands auto generated by Alembic - please adjust! ###
|
|
op.create_table('loginservice',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('loginservice_name', 'loginservice', ['name'], unique=True)
|
|
|
|
op.bulk_insert(tables.loginservice,
|
|
[
|
|
{'name':'github'},
|
|
{'name':'quayrobot'},
|
|
{'name':'ldap'},
|
|
])
|
|
|
|
op.create_table('imagestorage',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('uuid', sa.String(length=255), nullable=False),
|
|
sa.Column('checksum', sa.String(length=255), nullable=True),
|
|
sa.Column('created', sa.DateTime(), nullable=True),
|
|
sa.Column('comment', sa.Text(), nullable=True),
|
|
sa.Column('command', sa.Text(), nullable=True),
|
|
sa.Column('image_size', sa.BigInteger(), nullable=True),
|
|
sa.Column('uploading', sa.Boolean(), nullable=True),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_table('queueitem',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('queue_name', sa.String(length=1024), nullable=False),
|
|
sa.Column('body', sa.Text(), nullable=False),
|
|
sa.Column('available_after', sa.DateTime(), nullable=False),
|
|
sa.Column('available', sa.Boolean(), nullable=False),
|
|
sa.Column('processing_expires', sa.DateTime(), nullable=True),
|
|
sa.Column('retries_remaining', sa.Integer(), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('queueitem_available', 'queueitem', ['available'], unique=False)
|
|
op.create_index('queueitem_available_after', 'queueitem', ['available_after'], unique=False)
|
|
op.create_index('queueitem_processing_expires', 'queueitem', ['processing_expires'], unique=False)
|
|
op.create_index('queueitem_queue_name', 'queueitem', ['queue_name'], unique=False, mysql_length=767)
|
|
op.create_table('role',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('role_name', 'role', ['name'], unique=False)
|
|
|
|
op.bulk_insert(tables.role,
|
|
[
|
|
{'name':'admin'},
|
|
{'name':'write'},
|
|
{'name':'read'},
|
|
])
|
|
|
|
op.create_table('logentrykind',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('logentrykind_name', 'logentrykind', ['name'], unique=False)
|
|
|
|
op.bulk_insert(tables.logentrykind,
|
|
[
|
|
{'name':'account_change_plan'},
|
|
{'name':'account_change_cc'},
|
|
{'name':'account_change_password'},
|
|
{'name':'account_convert'},
|
|
|
|
{'name':'create_robot'},
|
|
{'name':'delete_robot'},
|
|
|
|
{'name':'create_repo'},
|
|
{'name':'push_repo'},
|
|
{'name':'pull_repo'},
|
|
{'name':'delete_repo'},
|
|
{'name':'create_tag'},
|
|
{'name':'move_tag'},
|
|
{'name':'delete_tag'},
|
|
{'name':'add_repo_permission'},
|
|
{'name':'change_repo_permission'},
|
|
{'name':'delete_repo_permission'},
|
|
{'name':'change_repo_visibility'},
|
|
{'name':'add_repo_accesstoken'},
|
|
{'name':'delete_repo_accesstoken'},
|
|
{'name':'add_repo_webhook'},
|
|
{'name':'delete_repo_webhook'},
|
|
{'name':'set_repo_description'},
|
|
|
|
{'name':'build_dockerfile'},
|
|
|
|
{'name':'org_create_team'},
|
|
{'name':'org_delete_team'},
|
|
{'name':'org_add_team_member'},
|
|
{'name':'org_remove_team_member'},
|
|
{'name':'org_set_team_description'},
|
|
{'name':'org_set_team_role'},
|
|
|
|
{'name':'create_prototype_permission'},
|
|
{'name':'modify_prototype_permission'},
|
|
{'name':'delete_prototype_permission'},
|
|
|
|
{'name':'setup_repo_trigger'},
|
|
{'name':'delete_repo_trigger'},
|
|
|
|
{'name':'create_application'},
|
|
{'name':'update_application'},
|
|
{'name':'delete_application'},
|
|
{'name':'reset_application_client_secret'},
|
|
])
|
|
|
|
op.create_table('notificationkind',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('notificationkind_name', 'notificationkind', ['name'], unique=False)
|
|
|
|
op.bulk_insert(tables.notificationkind,
|
|
[
|
|
{'name':'password_required'},
|
|
{'name':'over_private_usage'},
|
|
{'name':'expiring_license'},
|
|
])
|
|
|
|
op.create_table('teamrole',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('teamrole_name', 'teamrole', ['name'], unique=False)
|
|
|
|
op.bulk_insert(tables.teamrole,
|
|
[
|
|
{'name':'admin'},
|
|
{'name':'creator'},
|
|
{'name':'member'},
|
|
])
|
|
|
|
op.create_table('visibility',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('visibility_name', 'visibility', ['name'], unique=False)
|
|
|
|
op.bulk_insert(tables.visibility,
|
|
[
|
|
{'name':'public'},
|
|
{'name':'private'},
|
|
])
|
|
|
|
op.create_table('user',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('username', sa.String(length=255), nullable=False),
|
|
sa.Column('password_hash', sa.String(length=255), nullable=True),
|
|
sa.Column('email', sa.String(length=255), nullable=False),
|
|
sa.Column('verified', sa.Boolean(), nullable=False),
|
|
sa.Column('stripe_id', sa.String(length=255), nullable=True),
|
|
sa.Column('organization', sa.Boolean(), nullable=False),
|
|
sa.Column('robot', sa.Boolean(), nullable=False),
|
|
sa.Column('invoice_email', sa.Boolean(), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('user_email', 'user', ['email'], unique=True)
|
|
op.create_index('user_organization', 'user', ['organization'], unique=False)
|
|
op.create_index('user_robot', 'user', ['robot'], unique=False)
|
|
op.create_index('user_stripe_id', 'user', ['stripe_id'], unique=False)
|
|
op.create_index('user_username', 'user', ['username'], unique=True)
|
|
op.create_table('buildtriggerservice',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('buildtriggerservice_name', 'buildtriggerservice', ['name'], unique=False)
|
|
|
|
op.bulk_insert(tables.buildtriggerservice,
|
|
[
|
|
{'name':'github'},
|
|
])
|
|
|
|
op.create_table('federatedlogin',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('user_id', sa.Integer(), nullable=False),
|
|
sa.Column('service_id', sa.Integer(), nullable=False),
|
|
sa.Column('service_ident', sa.String(length=255), nullable=False),
|
|
sa.ForeignKeyConstraint(['service_id'], ['loginservice.id'], ),
|
|
sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('federatedlogin_service_id', 'federatedlogin', ['service_id'], unique=False)
|
|
op.create_index('federatedlogin_service_id_service_ident', 'federatedlogin', ['service_id', 'service_ident'], unique=True)
|
|
op.create_index('federatedlogin_service_id_user_id', 'federatedlogin', ['service_id', 'user_id'], unique=True)
|
|
op.create_index('federatedlogin_user_id', 'federatedlogin', ['user_id'], unique=False)
|
|
op.create_table('oauthapplication',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('client_id', sa.String(length=255), nullable=False),
|
|
sa.Column('client_secret', sa.String(length=255), nullable=False),
|
|
sa.Column('redirect_uri', sa.String(length=255), nullable=False),
|
|
sa.Column('application_uri', sa.String(length=255), nullable=False),
|
|
sa.Column('organization_id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.Column('description', sa.Text(), nullable=False),
|
|
sa.Column('gravatar_email', sa.String(length=255), nullable=True),
|
|
sa.ForeignKeyConstraint(['organization_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('oauthapplication_client_id', 'oauthapplication', ['client_id'], unique=False)
|
|
op.create_index('oauthapplication_organization_id', 'oauthapplication', ['organization_id'], unique=False)
|
|
op.create_table('notification',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('uuid', sa.String(length=255), nullable=False),
|
|
sa.Column('kind_id', sa.Integer(), nullable=False),
|
|
sa.Column('target_id', sa.Integer(), nullable=False),
|
|
sa.Column('metadata_json', sa.Text(), nullable=False),
|
|
sa.Column('created', sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(['kind_id'], ['notificationkind.id'], ),
|
|
sa.ForeignKeyConstraint(['target_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('notification_created', 'notification', ['created'], unique=False)
|
|
op.create_index('notification_kind_id', 'notification', ['kind_id'], unique=False)
|
|
op.create_index('notification_target_id', 'notification', ['target_id'], unique=False)
|
|
op.create_index('notification_uuid', 'notification', ['uuid'], unique=False)
|
|
op.create_table('emailconfirmation',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('code', sa.String(length=255), nullable=False),
|
|
sa.Column('user_id', sa.Integer(), nullable=False),
|
|
sa.Column('pw_reset', sa.Boolean(), nullable=False),
|
|
sa.Column('new_email', sa.String(length=255), nullable=True),
|
|
sa.Column('email_confirm', sa.Boolean(), nullable=False),
|
|
sa.Column('created', sa.DateTime(), nullable=False),
|
|
sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('emailconfirmation_code', 'emailconfirmation', ['code'], unique=True)
|
|
op.create_index('emailconfirmation_user_id', 'emailconfirmation', ['user_id'], unique=False)
|
|
op.create_table('team',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.Column('organization_id', sa.Integer(), nullable=False),
|
|
sa.Column('role_id', sa.Integer(), nullable=False),
|
|
sa.Column('description', sa.Text(), nullable=False),
|
|
sa.ForeignKeyConstraint(['organization_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['role_id'], ['teamrole.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('team_name', 'team', ['name'], unique=False)
|
|
op.create_index('team_name_organization_id', 'team', ['name', 'organization_id'], unique=True)
|
|
op.create_index('team_organization_id', 'team', ['organization_id'], unique=False)
|
|
op.create_index('team_role_id', 'team', ['role_id'], unique=False)
|
|
op.create_table('repository',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('namespace', sa.String(length=255), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.Column('visibility_id', sa.Integer(), nullable=False),
|
|
sa.Column('description', sa.Text(), nullable=True),
|
|
sa.Column('badge_token', sa.String(length=255), nullable=False),
|
|
sa.ForeignKeyConstraint(['visibility_id'], ['visibility.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('repository_namespace_name', 'repository', ['namespace', 'name'], unique=True)
|
|
op.create_index('repository_visibility_id', 'repository', ['visibility_id'], unique=False)
|
|
op.create_table('accesstoken',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('friendly_name', sa.String(length=255), nullable=True),
|
|
sa.Column('code', sa.String(length=255), nullable=False),
|
|
sa.Column('repository_id', sa.Integer(), nullable=False),
|
|
sa.Column('created', sa.DateTime(), nullable=False),
|
|
sa.Column('role_id', sa.Integer(), nullable=False),
|
|
sa.Column('temporary', sa.Boolean(), nullable=False),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.ForeignKeyConstraint(['role_id'], ['role.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('accesstoken_code', 'accesstoken', ['code'], unique=True)
|
|
op.create_index('accesstoken_repository_id', 'accesstoken', ['repository_id'], unique=False)
|
|
op.create_index('accesstoken_role_id', 'accesstoken', ['role_id'], unique=False)
|
|
op.create_table('repositorypermission',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('team_id', sa.Integer(), nullable=True),
|
|
sa.Column('user_id', sa.Integer(), nullable=True),
|
|
sa.Column('repository_id', sa.Integer(), nullable=False),
|
|
sa.Column('role_id', sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.ForeignKeyConstraint(['role_id'], ['role.id'], ),
|
|
sa.ForeignKeyConstraint(['team_id'], ['team.id'], ),
|
|
sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('repositorypermission_repository_id', 'repositorypermission', ['repository_id'], unique=False)
|
|
op.create_index('repositorypermission_role_id', 'repositorypermission', ['role_id'], unique=False)
|
|
op.create_index('repositorypermission_team_id', 'repositorypermission', ['team_id'], unique=False)
|
|
op.create_index('repositorypermission_team_id_repository_id', 'repositorypermission', ['team_id', 'repository_id'], unique=True)
|
|
op.create_index('repositorypermission_user_id', 'repositorypermission', ['user_id'], unique=False)
|
|
op.create_index('repositorypermission_user_id_repository_id', 'repositorypermission', ['user_id', 'repository_id'], unique=True)
|
|
op.create_table('oauthaccesstoken',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('uuid', sa.String(length=255), nullable=False),
|
|
sa.Column('application_id', sa.Integer(), nullable=False),
|
|
sa.Column('authorized_user_id', sa.Integer(), nullable=False),
|
|
sa.Column('scope', sa.String(length=255), nullable=False),
|
|
sa.Column('access_token', sa.String(length=255), nullable=False),
|
|
sa.Column('token_type', sa.String(length=255), nullable=False),
|
|
sa.Column('expires_at', sa.DateTime(), nullable=False),
|
|
sa.Column('refresh_token', sa.String(length=255), nullable=True),
|
|
sa.Column('data', sa.Text(), nullable=False),
|
|
sa.ForeignKeyConstraint(['application_id'], ['oauthapplication.id'], ),
|
|
sa.ForeignKeyConstraint(['authorized_user_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('oauthaccesstoken_access_token', 'oauthaccesstoken', ['access_token'], unique=False)
|
|
op.create_index('oauthaccesstoken_application_id', 'oauthaccesstoken', ['application_id'], unique=False)
|
|
op.create_index('oauthaccesstoken_authorized_user_id', 'oauthaccesstoken', ['authorized_user_id'], unique=False)
|
|
op.create_index('oauthaccesstoken_refresh_token', 'oauthaccesstoken', ['refresh_token'], unique=False)
|
|
op.create_index('oauthaccesstoken_uuid', 'oauthaccesstoken', ['uuid'], unique=False)
|
|
op.create_table('teammember',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('user_id', sa.Integer(), nullable=False),
|
|
sa.Column('team_id', sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(['team_id'], ['team.id'], ),
|
|
sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('teammember_team_id', 'teammember', ['team_id'], unique=False)
|
|
op.create_index('teammember_user_id', 'teammember', ['user_id'], unique=False)
|
|
op.create_index('teammember_user_id_team_id', 'teammember', ['user_id', 'team_id'], unique=True)
|
|
op.create_table('webhook',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('public_id', sa.String(length=255), nullable=False),
|
|
sa.Column('repository_id', sa.Integer(), nullable=False),
|
|
sa.Column('parameters', sa.Text(), nullable=False),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('webhook_public_id', 'webhook', ['public_id'], unique=True)
|
|
op.create_index('webhook_repository_id', 'webhook', ['repository_id'], unique=False)
|
|
op.create_table('oauthauthorizationcode',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('application_id', sa.Integer(), nullable=False),
|
|
sa.Column('code', sa.String(length=255), nullable=False),
|
|
sa.Column('scope', sa.String(length=255), nullable=False),
|
|
sa.Column('data', sa.Text(), nullable=False),
|
|
sa.ForeignKeyConstraint(['application_id'], ['oauthapplication.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('oauthauthorizationcode_application_id', 'oauthauthorizationcode', ['application_id'], unique=False)
|
|
op.create_index('oauthauthorizationcode_code', 'oauthauthorizationcode', ['code'], unique=False)
|
|
op.create_table('image',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('docker_image_id', sa.String(length=255), nullable=False),
|
|
sa.Column('checksum', sa.String(length=255), nullable=True),
|
|
sa.Column('created', sa.DateTime(), nullable=True),
|
|
sa.Column('comment', sa.Text(), nullable=True),
|
|
sa.Column('command', sa.Text(), nullable=True),
|
|
sa.Column('repository_id', sa.Integer(), nullable=False),
|
|
sa.Column('image_size', sa.BigInteger(), nullable=True),
|
|
sa.Column('ancestors', sa.String(length=60535), nullable=True),
|
|
sa.Column('storage_id', sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.ForeignKeyConstraint(['storage_id'], ['imagestorage.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('image_ancestors', 'image', ['ancestors'], unique=False, mysql_length=767)
|
|
op.create_index('image_repository_id', 'image', ['repository_id'], unique=False)
|
|
op.create_index('image_repository_id_docker_image_id', 'image', ['repository_id', 'docker_image_id'], unique=True)
|
|
op.create_index('image_storage_id', 'image', ['storage_id'], unique=False)
|
|
op.create_table('permissionprototype',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('org_id', sa.Integer(), nullable=False),
|
|
sa.Column('uuid', sa.String(length=255), nullable=False),
|
|
sa.Column('activating_user_id', sa.Integer(), nullable=True),
|
|
sa.Column('delegate_user_id', sa.Integer(), nullable=True),
|
|
sa.Column('delegate_team_id', sa.Integer(), nullable=True),
|
|
sa.Column('role_id', sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(['activating_user_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['delegate_team_id'], ['team.id'], ),
|
|
sa.ForeignKeyConstraint(['delegate_user_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['org_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['role_id'], ['role.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('permissionprototype_activating_user_id', 'permissionprototype', ['activating_user_id'], unique=False)
|
|
op.create_index('permissionprototype_delegate_team_id', 'permissionprototype', ['delegate_team_id'], unique=False)
|
|
op.create_index('permissionprototype_delegate_user_id', 'permissionprototype', ['delegate_user_id'], unique=False)
|
|
op.create_index('permissionprototype_org_id', 'permissionprototype', ['org_id'], unique=False)
|
|
op.create_index('permissionprototype_org_id_activating_user_id', 'permissionprototype', ['org_id', 'activating_user_id'], unique=False)
|
|
op.create_index('permissionprototype_role_id', 'permissionprototype', ['role_id'], unique=False)
|
|
op.create_table('repositorytag',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('name', sa.String(length=255), nullable=False),
|
|
sa.Column('image_id', sa.Integer(), nullable=False),
|
|
sa.Column('repository_id', sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(['image_id'], ['image.id'], ),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('repositorytag_image_id', 'repositorytag', ['image_id'], unique=False)
|
|
op.create_index('repositorytag_repository_id', 'repositorytag', ['repository_id'], unique=False)
|
|
op.create_index('repositorytag_repository_id_name', 'repositorytag', ['repository_id', 'name'], unique=True)
|
|
op.create_table('logentry',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('kind_id', sa.Integer(), nullable=False),
|
|
sa.Column('account_id', sa.Integer(), nullable=False),
|
|
sa.Column('performer_id', sa.Integer(), nullable=True),
|
|
sa.Column('repository_id', sa.Integer(), nullable=True),
|
|
sa.Column('access_token_id', sa.Integer(), nullable=True),
|
|
sa.Column('datetime', sa.DateTime(), nullable=False),
|
|
sa.Column('ip', sa.String(length=255), nullable=True),
|
|
sa.Column('metadata_json', sa.Text(), nullable=False),
|
|
sa.ForeignKeyConstraint(['access_token_id'], ['accesstoken.id'], ),
|
|
sa.ForeignKeyConstraint(['account_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['kind_id'], ['logentrykind.id'], ),
|
|
sa.ForeignKeyConstraint(['performer_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('logentry_access_token_id', 'logentry', ['access_token_id'], unique=False)
|
|
op.create_index('logentry_account_id', 'logentry', ['account_id'], unique=False)
|
|
op.create_index('logentry_datetime', 'logentry', ['datetime'], unique=False)
|
|
op.create_index('logentry_kind_id', 'logentry', ['kind_id'], unique=False)
|
|
op.create_index('logentry_performer_id', 'logentry', ['performer_id'], unique=False)
|
|
op.create_index('logentry_repository_id', 'logentry', ['repository_id'], unique=False)
|
|
op.create_table('repositorybuildtrigger',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('uuid', sa.String(length=255), nullable=False),
|
|
sa.Column('service_id', sa.Integer(), nullable=False),
|
|
sa.Column('repository_id', sa.Integer(), nullable=False),
|
|
sa.Column('connected_user_id', sa.Integer(), nullable=False),
|
|
sa.Column('auth_token', sa.String(length=255), nullable=False),
|
|
sa.Column('config', sa.Text(), nullable=False),
|
|
sa.Column('write_token_id', sa.Integer(), nullable=True),
|
|
sa.Column('pull_robot_id', sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(['connected_user_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['pull_robot_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.ForeignKeyConstraint(['service_id'], ['buildtriggerservice.id'], ),
|
|
sa.ForeignKeyConstraint(['write_token_id'], ['accesstoken.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('repositorybuildtrigger_connected_user_id', 'repositorybuildtrigger', ['connected_user_id'], unique=False)
|
|
op.create_index('repositorybuildtrigger_pull_robot_id', 'repositorybuildtrigger', ['pull_robot_id'], unique=False)
|
|
op.create_index('repositorybuildtrigger_repository_id', 'repositorybuildtrigger', ['repository_id'], unique=False)
|
|
op.create_index('repositorybuildtrigger_service_id', 'repositorybuildtrigger', ['service_id'], unique=False)
|
|
op.create_index('repositorybuildtrigger_write_token_id', 'repositorybuildtrigger', ['write_token_id'], unique=False)
|
|
op.create_table('repositorybuild',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('uuid', sa.String(length=255), nullable=False),
|
|
sa.Column('repository_id', sa.Integer(), nullable=False),
|
|
sa.Column('access_token_id', sa.Integer(), nullable=False),
|
|
sa.Column('resource_key', sa.String(length=255), nullable=False),
|
|
sa.Column('job_config', sa.Text(), nullable=False),
|
|
sa.Column('phase', sa.String(length=255), nullable=False),
|
|
sa.Column('started', sa.DateTime(), nullable=False),
|
|
sa.Column('display_name', sa.String(length=255), nullable=False),
|
|
sa.Column('trigger_id', sa.Integer(), nullable=True),
|
|
sa.Column('pull_robot_id', sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(['access_token_id'], ['accesstoken.id'], ),
|
|
sa.ForeignKeyConstraint(['pull_robot_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['repository_id'], ['repository.id'], ),
|
|
sa.ForeignKeyConstraint(['trigger_id'], ['repositorybuildtrigger.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index('repositorybuild_access_token_id', 'repositorybuild', ['access_token_id'], unique=False)
|
|
op.create_index('repositorybuild_pull_robot_id', 'repositorybuild', ['pull_robot_id'], unique=False)
|
|
op.create_index('repositorybuild_repository_id', 'repositorybuild', ['repository_id'], unique=False)
|
|
op.create_index('repositorybuild_resource_key', 'repositorybuild', ['resource_key'], unique=False)
|
|
op.create_index('repositorybuild_trigger_id', 'repositorybuild', ['trigger_id'], unique=False)
|
|
op.create_index('repositorybuild_uuid', 'repositorybuild', ['uuid'], unique=False)
|
|
### end Alembic commands ###
|
|
|
|
|
|
def downgrade(tables):
|
|
### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_table('repositorybuild')
|
|
op.drop_table('repositorybuildtrigger')
|
|
op.drop_table('logentry')
|
|
op.drop_table('repositorytag')
|
|
op.drop_table('permissionprototype')
|
|
op.drop_table('image')
|
|
op.drop_table('oauthauthorizationcode')
|
|
op.drop_table('webhook')
|
|
op.drop_table('teammember')
|
|
op.drop_table('oauthaccesstoken')
|
|
op.drop_table('repositorypermission')
|
|
op.drop_table('accesstoken')
|
|
op.drop_table('repository')
|
|
op.drop_table('team')
|
|
op.drop_table('emailconfirmation')
|
|
op.drop_table('notification')
|
|
op.drop_table('oauthapplication')
|
|
op.drop_table('federatedlogin')
|
|
op.drop_table('buildtriggerservice')
|
|
op.drop_table('user')
|
|
op.drop_table('visibility')
|
|
op.drop_table('teamrole')
|
|
op.drop_table('notificationkind')
|
|
op.drop_table('logentrykind')
|
|
op.drop_table('role')
|
|
op.drop_table('queueitem')
|
|
op.drop_table('imagestorage')
|
|
op.drop_table('loginservice')
|
|
### end Alembic commands ###
|