Fixed formatting

This commit is contained in:
Matt Gerega
2024-03-26 14:02:17 -04:00
parent 1d6830d769
commit 83fd3073ec
3 changed files with 51 additions and 28 deletions

View File

@@ -8,8 +8,8 @@ import sqlalchemy as sa
from alembic import op from alembic import op
# revision identifiers, used by Alembic. # revision identifiers, used by Alembic.
revision = 'aafcd7fb0e84' revision = "aafcd7fb0e84"
down_revision = 'b8881bdb716c' down_revision = "b8881bdb716c"
branch_labels = None branch_labels = None
depends_on = None depends_on = None
@@ -17,14 +17,25 @@ depends_on = None
def upgrade() -> None: def upgrade() -> None:
"""Perform the upgrade.""" """Perform the upgrade."""
# ### commands auto generated by Alembic - please adjust! ### # ### commands auto generated by Alembic - please adjust! ###
op.add_column('spool', sa.Column('initial_weight', sa.Float(), nullable=True, comment="The initial total weight of the spool (gross weight).")) op.add_column(
op.add_column('spool', sa.Column('empty_weight', sa.Float(), nullable=True, comment="The weight of the empty spool (tare weight).")) "spool",
sa.Column(
"initial_weight",
sa.Float(),
nullable=True,
comment="The initial total weight of the spool (gross weight).",
),
)
op.add_column(
"spool",
sa.Column("empty_weight", sa.Float(), nullable=True, comment="The weight of the empty spool (tare weight)."),
)
# ### end Alembic commands ### # ### end Alembic commands ###
def downgrade() -> None: def downgrade() -> None:
"""Perform the downgrade.""" """Perform the downgrade."""
# ### commands auto generated by Alembic - please adjust! ### # ### commands auto generated by Alembic - please adjust! ###
op.drop_column('spool', 'empty_weight') op.drop_column("spool", "empty_weight")
op.drop_column('spool', 'initial_weight') op.drop_column("spool", "initial_weight")
# ### end Alembic commands ### # ### end Alembic commands ###

View File

@@ -8,29 +8,46 @@ import sqlalchemy as sa
from alembic import op from alembic import op
# revision identifiers, used by Alembic. # revision identifiers, used by Alembic.
revision = '304a32906234' revision = "304a32906234"
down_revision = 'aafcd7fb0e84' down_revision = "aafcd7fb0e84"
branch_labels = None branch_labels = None
depends_on = None depends_on = None
def upgrade() -> None: def upgrade() -> None:
filament = sa.Table('filament', """Pre-populate the spool weights."""
"""This must be done in a separate migration because"""
"""of cockroachdb's execution of alembic migrations"""
filament = sa.Table(
"filament",
sa.MetaData(), sa.MetaData(),
sa.Column('id', sa.Integer, primary_key=True), sa.Column("id", sa.Integer, primary_key=True),
sa.Column('weight', sa.Float(), nullable=True), sa.Column("weight", sa.Float(), nullable=True),
sa.Column('spool_weight', sa.Float(), nullable=True)) sa.Column("spool_weight", sa.Float(), nullable=True),
spool = sa.Table(
'spool',
sa.MetaData(),
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('filament_id', sa.Integer),
sa.Column('initial_weight', sa.Float(), nullable=False, comment="The initial total weight of the spool (gross weight)."),
sa.Column('empty_weight', sa.Float(), nullable=False, comment="The weight of the empty spool (tare weight).")
) )
initial_weight = sa.select((filament.c.weight + filament.c.spool_weight).label("initial_weight")).where(filament.c.id == spool.c.filament_id).scalar_subquery() spool = sa.Table(
"spool",
sa.MetaData(),
sa.Column("id", sa.Integer, primary_key=True),
sa.Column("filament_id", sa.Integer),
sa.Column(
"initial_weight",
sa.Float(),
nullable=False,
),
sa.Column(
"empty_weight",
sa.Float(),
nullable=False,
),
)
initial_weight = (
sa.select((filament.c.weight + filament.c.spool_weight).label("initial_weight"))
.where(filament.c.id == spool.c.filament_id)
.scalar_subquery()
)
empty_weight = sa.select(filament.c.spool_weight).where(filament.c.id == spool.c.filament_id).scalar_subquery() empty_weight = sa.select(filament.c.spool_weight).where(filament.c.id == spool.c.filament_id).scalar_subquery()
set_initial_weight = sa.update(spool).values(initial_weight=initial_weight) set_initial_weight = sa.update(spool).values(initial_weight=initial_weight)
@@ -43,4 +60,3 @@ def upgrade() -> None:
def downgrade() -> None: def downgrade() -> None:
"""Perform the downgrade.""" """Perform the downgrade."""
pass

View File

@@ -194,12 +194,8 @@ async def update(
if k == "filament_id": if k == "filament_id":
spool.filament = await filament.get_by_id(db, v) spool.filament = await filament.get_by_id(db, v)
# If there is no initial_weight, calculate it from the filament weight # If there is no initial_weight, calculate it from the filament weight
if ( if spool.initial_weight is None and spool.empty_weight is None and spool.filament.weight is not None:
spool.initial_weight is None spool_weight = spool.empty_weight if spool.empty_weight is not None else 0
and spool.empty_weight is None
and spool.filament.weight is not None
):
spool_weight = (spool.empty_weight if spool.empty_weight is not None else 0)
spool.initial_weight = spool.filament.weight + spool_weight spool.initial_weight = spool.filament.weight + spool_weight
spool.empty_weight = spool_weight spool.empty_weight = spool_weight