feat: add Letzshop historical import migrations
- Add LetzshopHistoricalImportJob table for progress tracking - Add order_date column to track when orders were placed 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
"""add_letzshop_historical_import_jobs_table
|
||||
|
||||
Revision ID: 204273a59d73
|
||||
Revises: cb88bc9b5f86
|
||||
Create Date: 2025-12-19 05:40:53.463341
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import sqlite
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = '204273a59d73'
|
||||
down_revision: Union[str, None] = 'cb88bc9b5f86'
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.create_table('letzshop_historical_import_jobs',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('vendor_id', sa.Integer(), nullable=False),
|
||||
sa.Column('user_id', sa.Integer(), nullable=False),
|
||||
sa.Column('status', sa.String(length=50), nullable=False),
|
||||
sa.Column('current_phase', sa.String(length=20), nullable=True),
|
||||
sa.Column('current_page', sa.Integer(), nullable=True),
|
||||
sa.Column('total_pages', sa.Integer(), nullable=True),
|
||||
sa.Column('shipments_fetched', sa.Integer(), nullable=True),
|
||||
sa.Column('orders_processed', sa.Integer(), nullable=True),
|
||||
sa.Column('orders_imported', sa.Integer(), nullable=True),
|
||||
sa.Column('orders_updated', sa.Integer(), nullable=True),
|
||||
sa.Column('orders_skipped', sa.Integer(), nullable=True),
|
||||
sa.Column('products_matched', sa.Integer(), nullable=True),
|
||||
sa.Column('products_not_found', sa.Integer(), nullable=True),
|
||||
sa.Column('confirmed_stats', sqlite.JSON(), nullable=True),
|
||||
sa.Column('declined_stats', sqlite.JSON(), nullable=True),
|
||||
sa.Column('error_message', sa.Text(), nullable=True),
|
||||
sa.Column('started_at', sa.DateTime(timezone=True), nullable=True),
|
||||
sa.Column('completed_at', sa.DateTime(timezone=True), nullable=True),
|
||||
sa.Column('created_at', sa.DateTime(), nullable=False),
|
||||
sa.Column('updated_at', sa.DateTime(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
|
||||
sa.ForeignKeyConstraint(['vendor_id'], ['vendors.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_index('idx_historical_import_vendor', 'letzshop_historical_import_jobs', ['vendor_id', 'status'], unique=False)
|
||||
op.create_index(op.f('ix_letzshop_historical_import_jobs_id'), 'letzshop_historical_import_jobs', ['id'], unique=False)
|
||||
op.create_index(op.f('ix_letzshop_historical_import_jobs_vendor_id'), 'letzshop_historical_import_jobs', ['vendor_id'], unique=False)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.drop_index(op.f('ix_letzshop_historical_import_jobs_vendor_id'), table_name='letzshop_historical_import_jobs')
|
||||
op.drop_index(op.f('ix_letzshop_historical_import_jobs_id'), table_name='letzshop_historical_import_jobs')
|
||||
op.drop_index('idx_historical_import_vendor', table_name='letzshop_historical_import_jobs')
|
||||
op.drop_table('letzshop_historical_import_jobs')
|
||||
@@ -0,0 +1,27 @@
|
||||
"""add_order_date_to_letzshop_orders
|
||||
|
||||
Revision ID: 2362c2723a93
|
||||
Revises: 204273a59d73
|
||||
Create Date: 2025-12-19 08:46:23.731912
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = '2362c2723a93'
|
||||
down_revision: Union[str, None] = '204273a59d73'
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# Add order_date column to letzshop_orders table
|
||||
op.add_column('letzshop_orders', sa.Column('order_date', sa.DateTime(timezone=True), nullable=True))
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.drop_column('letzshop_orders', 'order_date')
|
||||
Reference in New Issue
Block a user