Upgrades to cost calculation methods

This commit is contained in:
Landon Wark
2023-05-02 14:19:45 -05:00
parent dff5a5aa1e
commit 06447f0938
12 changed files with 203 additions and 27 deletions

View File

@@ -0,0 +1,30 @@
"""updated discount table
Revision ID: 83b06f3f4869
Revises: cc9672a505f5
Create Date: 2023-04-27 13:04:35.886294
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import sqlite
# revision identifiers, used by Alembic.
revision = '83b06f3f4869'
down_revision = 'cc9672a505f5'
branch_labels = None
depends_on = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('_discounts', schema=None) as batch_op:
batch_op.add_column(sa.Column('name', sa.String(length=128), nullable=True))
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('_discounts', schema=None) as batch_op:
batch_op.drop_column('name')
# ### end Alembic commands ###

View File

@@ -0,0 +1,37 @@
"""added discount table
Revision ID: cc9672a505f5
Revises: 00de69ad6eab
Create Date: 2023-04-27 12:58:41.331563
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = 'cc9672a505f5'
down_revision = '00de69ad6eab'
branch_labels = None
depends_on = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('_discounts',
sa.Column('id', sa.INTEGER(), nullable=False),
sa.Column('kit_id', sa.INTEGER(), nullable=True),
sa.Column('client_id', sa.INTEGER(), nullable=True),
sa.Column('amount', sa.FLOAT(precision=2), nullable=True),
sa.ForeignKeyConstraint(['client_id'], ['_organizations.id'], name='fk_org_id', ondelete='SET NULL'),
sa.ForeignKeyConstraint(['kit_id'], ['_kits.id'], name='fk_kit_type_id', ondelete='SET NULL'),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('_discounts')
# ### end Alembic commands ###

View File

@@ -0,0 +1,51 @@
"""split mutable costs into 96 and 24
Revision ID: dc780c868efd
Revises: 83b06f3f4869
Create Date: 2023-05-01 14:05:47.762441
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import sqlite
# revision identifiers, used by Alembic.
revision = 'dc780c868efd'
down_revision = '83b06f3f4869'
branch_labels = None
depends_on = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('_alembic_tmp__kits')
with op.batch_alter_table('_kits', schema=None) as batch_op:
batch_op.add_column(sa.Column('mutable_cost_96', sa.FLOAT(precision=2), nullable=True))
batch_op.add_column(sa.Column('mutable_cost_24', sa.FLOAT(precision=2), nullable=True))
batch_op.drop_column('mutable_cost')
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('_kits', schema=None) as batch_op:
batch_op.add_column(sa.Column('mutable_cost', sa.FLOAT(), nullable=True))
batch_op.drop_column('mutable_cost_24')
batch_op.drop_column('mutable_cost_96')
op.create_table('_alembic_tmp__kits',
sa.Column('id', sa.INTEGER(), nullable=False),
sa.Column('name', sa.VARCHAR(length=64), nullable=True),
sa.Column('used_for', sqlite.JSON(), nullable=True),
sa.Column('cost_per_run', sa.FLOAT(), nullable=True),
sa.Column('reagent_types_id', sa.INTEGER(), nullable=True),
sa.Column('constant_cost', sa.FLOAT(), nullable=True),
sa.Column('mutable_cost_96', sa.FLOAT(), nullable=True),
sa.Column('mutable_cost_24', sa.FLOAT(), nullable=True),
sa.ForeignKeyConstraint(['reagent_types_id'], ['_reagent_types.id'], ondelete='SET NULL'),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('name')
)
# ### end Alembic commands ###