"""empty message Revision ID: c141a63b2487 Revises: cb6ab141c522 Create Date: 2020-07-09 00:05:39.845465 """ from alembic import op import sqlalchemy as sa from sqlalchemy import orm, func from app.models import Package, PackageRelease # revision identifiers, used by Alembic. revision = 'c141a63b2487' down_revision = 'cb6ab141c522' branch_labels = None depends_on = None def upgrade(): op.add_column('package', sa.Column('downloads', sa.Integer(), nullable=False, server_default="0")) bind = op.get_bind() session = orm.Session(bind=bind) for package in session.query(Package).all(): downloads_result = session.query(func.sum(PackageRelease.downloads)).filter_by(package_id=package.id).one_or_none() downloads = 0 if not downloads_result or not downloads_result[0] else downloads_result[0] package.downloads = downloads session.commit() def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_column('package', 'downloads') # ### end Alembic commands ###