This commit is contained in:
Mateusz Gruszczyński
2026-03-13 11:03:13 +01:00
commit 35571df778
132 changed files with 11197 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
"""add contractor regon and address to invoice
Revision ID: add_invoice_contractor_fields
Revises:
Create Date: 2026-03-10 12:00:00.000000
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy import inspect
revision = "add_invoice_contractor_fields"
down_revision = None
branch_labels = None
depends_on = None
def _has_column(table_name: str, column_name: str) -> bool:
bind = op.get_bind()
inspector = inspect(bind)
return column_name in {col["name"] for col in inspector.get_columns(table_name)}
def _has_index(table_name: str, index_name: str) -> bool:
bind = op.get_bind()
inspector = inspect(bind)
return index_name in {idx["name"] for idx in inspector.get_indexes(table_name)}
def upgrade():
with op.batch_alter_table("invoice", schema=None) as batch_op:
if not _has_column("invoice", "contractor_regon"):
batch_op.add_column(sa.Column("contractor_regon", sa.String(length=32), nullable=True))
if not _has_column("invoice", "contractor_address"):
batch_op.add_column(sa.Column("contractor_address", sa.String(length=512), nullable=True))
index_name = batch_op.f("ix_invoice_contractor_regon")
if _has_column("invoice", "contractor_regon") and not _has_index("invoice", index_name):
batch_op.create_index(index_name, ["contractor_regon"], unique=False)
def downgrade():
with op.batch_alter_table("invoice", schema=None) as batch_op:
index_name = batch_op.f("ix_invoice_contractor_regon")
if _has_index("invoice", index_name):
batch_op.drop_index(index_name)
if _has_column("invoice", "contractor_address"):
batch_op.drop_column("contractor_address")
if _has_column("invoice", "contractor_regon"):
batch_op.drop_column("contractor_regon")

View File

@@ -0,0 +1,42 @@
"""add split payment and mail security
Revision ID: 002_add_split_payment_and_mail_security
Revises: add_invoice_contractor_fields
Create Date: 2026-03-12
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy import inspect
revision = '002_add_split_payment_and_mail_security'
down_revision = 'add_invoice_contractor_fields'
branch_labels = None
depends_on = None
def _has_column(table_name: str, column_name: str) -> bool:
bind = op.get_bind()
inspector = inspect(bind)
return column_name in {col["name"] for col in inspector.get_columns(table_name)}
def upgrade():
with op.batch_alter_table('product') as batch_op:
if not _has_column('product', 'split_payment_default'):
batch_op.add_column(sa.Column('split_payment_default', sa.Boolean(), nullable=False, server_default=sa.false()))
with op.batch_alter_table('invoice') as batch_op:
if not _has_column('invoice', 'split_payment'):
batch_op.add_column(sa.Column('split_payment', sa.Boolean(), nullable=False, server_default=sa.false()))
def downgrade():
with op.batch_alter_table('invoice') as batch_op:
if _has_column('invoice', 'split_payment'):
batch_op.drop_column('split_payment')
with op.batch_alter_table('product') as batch_op:
if _has_column('product', 'split_payment_default'):
batch_op.drop_column('split_payment_default')

View File

@@ -0,0 +1,44 @@
"""add bank account to company and invoice
Revision ID: 003_add_bank_account_to_company_and_invoice
Revises: 002_add_split_payment_and_mail_security
Create Date: 2026-03-12
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy import inspect
revision = '003_add_bank_account_to_company_and_invoice'
down_revision = '002_add_split_payment_and_mail_security'
branch_labels = None
depends_on = None
def _has_column(table_name: str, column_name: str) -> bool:
bind = op.get_bind()
inspector = inspect(bind)
return column_name in {col['name'] for col in inspector.get_columns(table_name)}
def upgrade():
with op.batch_alter_table('company') as batch_op:
if not _has_column('company', 'bank_account'):
batch_op.add_column(sa.Column('bank_account', sa.String(length=64), nullable=True, server_default=''))
with op.batch_alter_table('invoice') as batch_op:
if not _has_column('invoice', 'seller_bank_account'):
batch_op.add_column(sa.Column('seller_bank_account', sa.String(length=64), nullable=True, server_default=''))
op.execute("UPDATE invoice SET seller_bank_account = COALESCE(seller_bank_account, '')")
op.execute("UPDATE company SET bank_account = COALESCE(bank_account, '')")
def downgrade():
with op.batch_alter_table('invoice') as batch_op:
if _has_column('invoice', 'seller_bank_account'):
batch_op.drop_column('seller_bank_account')
with op.batch_alter_table('company') as batch_op:
if _has_column('company', 'bank_account'):
batch_op.drop_column('bank_account')