mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Somehow, many aur.al records of PackageVotes do not have a valid VoteTS value. This migration fixes that issue by setting all null VoteTS columns to the epoch timestamp. Signed-off-by: Kevin Morris <kevr@0cost.org>
37 lines
842 B
Python
37 lines
842 B
Python
"""fix pkgvote votets
|
|
|
|
Revision ID: d64e5571bc8d
|
|
Revises: be7adae47ac3
|
|
Create Date: 2022-02-18 12:47:05.322766
|
|
|
|
"""
|
|
from datetime import datetime
|
|
|
|
import sqlalchemy as sa
|
|
|
|
from alembic import op
|
|
|
|
from aurweb import db
|
|
from aurweb.models import PackageVote
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = 'd64e5571bc8d'
|
|
down_revision = 'be7adae47ac3'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
table = PackageVote.__tablename__
|
|
column = 'VoteTS'
|
|
epoch = datetime(1970, 1, 1)
|
|
|
|
|
|
def upgrade():
|
|
with db.begin():
|
|
records = db.query(PackageVote).filter(PackageVote.VoteTS.is_(None))
|
|
for record in records:
|
|
record.VoteTS = epoch.timestamp()
|
|
op.alter_column(table, column, existing_type=sa.BIGINT(), nullable=False)
|
|
|
|
|
|
def downgrade():
|
|
op.alter_column(table, column, existing_type=sa.BIGINT(), nullable=True)
|