"""set_start_date_in_phase_projects Revision ID: 73b385061577 Revises: 9a8e077faa89 Create Date: 2020-06-12 13:27:44.775323 """ # import datetime from datetime from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '73b385061577' down_revision = '9a8e077faa89' branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### bind = op.get_bind() projects = bind.execute('''SELECT id, created_at FROM "Project"''').fetchall() for id, created_at in projects: activity_start_date = bind.execute(''' SELECT "Activity".start_date FROM "Activity" WHERE "Activity".project_id = '{0}' ORDER BY "Activity".start_date ASC LIMIT 1 '''.format(id)).scalar() bind.execute( ''' UPDATE "ProjectPhase" SET start_date = '{0}' WHERE "ProjectPhase".project_id = '{1}' AND "ProjectPhase".start_date is NULL '''.format(activity_start_date or created_at, id) ) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### pass # ### end Alembic commands ###