Added initial_weight and empty_weight to spool

This commit is contained in:
Matt Gerega
2024-03-26 13:55:44 -04:00
parent a68e0d59bd
commit 1d6830d769
7 changed files with 207 additions and 7 deletions

View File

@@ -0,0 +1,46 @@
"""spool weight population.
Revision ID: 304a32906234
Revises: aafcd7fb0e84
Create Date: 2024-03-26 13:49:26.594399
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = '304a32906234'
down_revision = 'aafcd7fb0e84'
branch_labels = None
depends_on = None
def upgrade() -> None:
filament = sa.Table('filament',
sa.MetaData(),
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('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()
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)
op.execute(set_initial_weight)
set_empty_weight = sa.update(spool).values(empty_weight=empty_weight)
op.execute(set_empty_weight)
pass
def downgrade() -> None:
"""Perform the downgrade."""
pass