"""capabilities-init Revision ID: 57c38b5f012e Revises: 44d5bbbf2615 Create Date: 2020-10-07 23:01:25.765027 """ import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. revision = "57c38b5f012e" down_revision = "44d5bbbf2615" branch_labels = None depends_on = None def upgrade(): print("creating capabilities") op.create_table( "capabilities", sa.Column("capability_name", sa.String, primary_key=True), sa.Column("capability_steps", sa.String), sa.Column("max_jobs", sa.Integer), sa.Column("enabled", sa.Boolean, default=True, server_default="true"), ) op.create_table( "capability_requests", sa.Column("capability_request_id", sa.Integer, primary_key=True), sa.Column("state", sa.String), sa.Column("capability_name", sa.String, sa.ForeignKey("capabilities.capability_name")), sa.Column("parameters", sa.String), ) op.create_table( "capability_versions", sa.Column( "capability_request_id", sa.Integer, sa.ForeignKey("capability_requests.capability_request_id"), primary_key=True, ), sa.Column("version_number", sa.Integer, primary_key=True), sa.Column("parameters", sa.String), ) op.create_table( "capability_executions", sa.Column("execution_id", sa.Integer, primary_key=True), sa.Column("state", sa.String), sa.Column("capability_request_id", sa.Integer), sa.Column("capability_version_number", sa.Integer), sa.Column("current_step", sa.Integer), sa.Column("steps", sa.String), sa.Column( "current_workflow_request_id", sa.Integer, sa.ForeignKey("workflow_requests.workflow_request_id"), ), sa.ForeignKeyConstraint( ("capability_request_id", "capability_version_number"), [ "capability_versions.capability_request_id", "capability_versions.version_number", ], ), ) op.execute( "INSERT INTO capabilities (capability_name, capability_steps, max_jobs) " "VALUES ('null', 'prepare-and-run-workflow null\nawait-parameter qa-status', 2)" ) def downgrade(): op.drop_table("capability_executions") op.drop_table("capability_versions") op.drop_table("capability_requests") op.drop_table("capabilities")