text: """convert timestamps to with timezones
  
  Revision ID: 42ea01a6cf31
  Revises: ce05198f524a
  Create Date: 2021-06-26 23:50:50.271191
  
  """
  from alembic import op
  import sqlalchemy as sa
  from sqlalchemy.dialects import postgresql
  
  # revision identifiers, used by Alembic.
  revision = '42ea01a6cf31'
  down_revision = 'ce05198f524a'
  branch_labels = None
  depends_on = None
  
  
  def upgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.alter_column('agents', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('agents', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('agents', 'last_seen',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('agents', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('agents_groups', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('agents_groups', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('agents_groups', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('branches', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('branches', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('branches', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('flows', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('flows', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('flows', 'finished',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('flows', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('jobs', 'assigned',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('jobs', 'completed',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('jobs', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('jobs', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('jobs', 'finished',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('jobs', 'processing_started',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('jobs', 'started',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('jobs', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('projects', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('projects', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('projects', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('repo_changes', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('repo_changes', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('repo_changes', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('runs', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('runs', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('runs', 'email_sent',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('runs', 'finished',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('runs', 'finished_again',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('runs', 'hard_timeout_reached',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('runs', 'soft_timeout_reached',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('runs', 'started',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('runs', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('secrets', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('secrets', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('secrets', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('stages', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('stages', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('stages', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('steps', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('steps', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('steps', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('test_cases', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('test_cases', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('test_cases', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('tools', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('tools', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('tools', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('user_sessions', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('user_sessions', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('user_sessions', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('users', 'created',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      op.alter_column('users', 'deleted',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=True)
      op.alter_column('users', 'updated',
                 existing_type=postgresql.TIMESTAMP(),
                 type_=sa.DateTime(timezone=True),
                 existing_nullable=False)
      # ### end Alembic commands ###
  
  
  def downgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.alter_column('users', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('users', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('users', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('user_sessions', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('user_sessions', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('user_sessions', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('tools', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('tools', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('tools', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('test_cases', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('test_cases', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('test_cases', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('steps', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('steps', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('steps', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('stages', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('stages', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('stages', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('secrets', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('secrets', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('secrets', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('runs', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('runs', 'started',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('runs', 'soft_timeout_reached',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('runs', 'hard_timeout_reached',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('runs', 'finished_again',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('runs', 'finished',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('runs', 'email_sent',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('runs', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('runs', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('repo_changes', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('repo_changes', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('repo_changes', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('projects', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('projects', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('projects', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('jobs', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('jobs', 'started',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('jobs', 'processing_started',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('jobs', 'finished',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('jobs', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('jobs', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('jobs', 'completed',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('jobs', 'assigned',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('flows', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('flows', 'finished',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('flows', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('flows', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('branches', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('branches', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('branches', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('agents_groups', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('agents_groups', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('agents_groups', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('agents', 'updated',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      op.alter_column('agents', 'last_seen',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('agents', 'deleted',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=True)
      op.alter_column('agents', 'created',
                 existing_type=sa.DateTime(timezone=True),
                 type_=postgresql.TIMESTAMP(),
                 existing_nullable=False)
      # ### end Alembic commands ###
  