Fixed formatting
This commit is contained in:
@@ -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 ###
|
||||||
|
|||||||
@@ -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.Table(
|
||||||
'spool',
|
"spool",
|
||||||
sa.MetaData(),
|
sa.MetaData(),
|
||||||
sa.Column('id', sa.Integer, primary_key=True),
|
sa.Column("id", sa.Integer, primary_key=True),
|
||||||
sa.Column('filament_id', sa.Integer),
|
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(
|
||||||
sa.Column('empty_weight', sa.Float(), nullable=False, comment="The weight of the empty spool (tare weight).")
|
"initial_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()
|
),
|
||||||
|
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
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user