wrolpi/alembic/versions/2026_10_06_1200_repository.py

44 lines
1.5 KiB
Python
Raw Normal View History

"""Add the repository table for git Repos (Collections with kind='repo').
Revision ID: 2026_10_06_1200
Revises: 2026_10_05_1200
"""
import sqlalchemy as sa
from alembic import op
import wrolpi.dates
# revision identifiers, used by Alembic.
revision = '2026_10_06_1200'
down_revision = '2026_10_05_1200'
branch_labels = None
depends_on = None
def upgrade():
op.create_table(
'repository',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('url', sa.String(), nullable=False),
sa.Column('host', sa.String(), nullable=True),
sa.Column('owner', sa.String(), nullable=True),
sa.Column('mode', sa.String(), nullable=False),
sa.Column('branch', sa.String(), nullable=True),
sa.Column('default_branch', sa.String(), nullable=True),
sa.Column('head_sha', sa.String(), nullable=True),
sa.Column('head_date', wrolpi.dates.TZDateTime(), nullable=True),
sa.Column('head_message', sa.Text(), nullable=True),
sa.Column('last_fetch', wrolpi.dates.TZDateTime(), nullable=True),
sa.Column('size', sa.BigInteger(), nullable=True),
sa.Column('readme_path', sa.String(), nullable=True),
sa.Column('collection_id', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['collection_id'], ['collection.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('collection_id'),
sa.UniqueConstraint('url'),
)
def downgrade():
op.drop_table('repository')