migrations/versions/7d55a089b5bc_.py (28 lines of code) (raw):

"""empty message Revision ID: 7d55a089b5bc Revises: 64b682d53e23 Create Date: 2017-06-26 17:22:12.828934 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = "7d55a089b5bc" down_revision = "64b682d53e23" branch_labels = None depends_on = None def upgrade(): conn = op.get_bind() # ### commands auto generated by Alembic - please adjust! ### op.add_column( "projects", sa.Column("task_creation_mode", sa.Integer(), nullable=True) ) op.create_index( "idx_geometry", "projects", ["geometry"], unique=False, postgresql_using="gist" ) op.add_column("tasks", sa.Column("extra_properties", sa.Unicode(), nullable=True)) # ### end Alembic commands ### # Content migration: Check the amount of zoom levels in tasks of a project and set # task_creation_mode to 1 or 0 accordingly. projects = conn.execute("select * from projects") for project in projects: query = "select distinct zoom from tasks where project_id = " + str(project.id) zooms = conn.execute(query).fetchall() if len(zooms) == 1 and zooms[0] == (None,): query = "update projects set task_creation_mode = 1 where id = " + str( project.id ) op.execute(query) def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_column("tasks", "extra_properties") op.drop_index("idx_geometry", table_name="projects") op.drop_column("projects", "task_creation_mode") # ### end Alembic commands ###