bf0aec5ba2cf_add_provider_order.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """add provider order
  2. Revision ID: bf0aec5ba2cf
  3. Revises: e35ed59becda
  4. Create Date: 2023-08-10 00:03:44.273430
  5. """
  6. import sqlalchemy as sa
  7. from alembic import op
  8. from sqlalchemy.dialects import postgresql
  9. # revision identifiers, used by Alembic.
  10. revision = 'bf0aec5ba2cf'
  11. down_revision = 'e35ed59becda'
  12. branch_labels = None
  13. depends_on = None
  14. def upgrade():
  15. # ### commands auto generated by Alembic - please adjust! ###
  16. op.create_table('provider_orders',
  17. sa.Column('id', postgresql.UUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
  18. sa.Column('tenant_id', postgresql.UUID(), nullable=False),
  19. sa.Column('provider_name', sa.String(length=40), nullable=False),
  20. sa.Column('account_id', postgresql.UUID(), nullable=False),
  21. sa.Column('payment_product_id', sa.String(length=191), nullable=False),
  22. sa.Column('payment_id', sa.String(length=191), nullable=True),
  23. sa.Column('transaction_id', sa.String(length=191), nullable=True),
  24. sa.Column('quantity', sa.Integer(), server_default=sa.text('1'), nullable=False),
  25. sa.Column('currency', sa.String(length=40), nullable=True),
  26. sa.Column('total_amount', sa.Integer(), nullable=True),
  27. sa.Column('payment_status', sa.String(length=40), server_default=sa.text("'wait_pay'::character varying"), nullable=False),
  28. sa.Column('paid_at', sa.DateTime(), nullable=True),
  29. sa.Column('pay_failed_at', sa.DateTime(), nullable=True),
  30. sa.Column('refunded_at', sa.DateTime(), nullable=True),
  31. sa.Column('created_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP(0)'), nullable=False),
  32. sa.Column('updated_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP(0)'), nullable=False),
  33. sa.PrimaryKeyConstraint('id', name='provider_order_pkey')
  34. )
  35. with op.batch_alter_table('provider_orders', schema=None) as batch_op:
  36. batch_op.create_index('provider_order_tenant_provider_idx', ['tenant_id', 'provider_name'], unique=False)
  37. # ### end Alembic commands ###
  38. def downgrade():
  39. # ### commands auto generated by Alembic - please adjust! ###
  40. with op.batch_alter_table('provider_orders', schema=None) as batch_op:
  41. batch_op.drop_index('provider_order_tenant_provider_idx')
  42. op.drop_table('provider_orders')
  43. # ### end Alembic commands ###