mirror of
https://github.com/minetest/contentdb.git
synced 2024-12-23 14:32:25 +01:00
2617c53abf
Fixes #200
39 lines
1013 B
Python
39 lines
1013 B
Python
"""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 ###
|