Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Store extruder and bed temperatures as min/max ranges instead of single values for more accurate filament specifications. Backend changes: - Add 4 new columns: settings_extruder_temp_min/max, settings_bed_temp_min/max - Keep old columns for backward compatibility (marked deprecated) - Alembic migration copies existing values to both min and max - Update Pydantic models and API endpoints Frontend changes: - Filament model updated with new fields - Create form uses min/max input pairs with Space.Compact - Import from external DB populates both min and max with same value - Label template updated to show ranges: "ET: 190-220 °C" - Template help includes new tags Labels now display temperature ranges like "190-220°C" which is more useful for printing than a single recommended value. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Migrations
Migrations are used to create and update the database schema. They are run automatically every time Spoolman starts.
To create a new migration, edit the tables as desired in spoolman/database/models.py, then start the Spoolman server to update your local sqlite database.
pdm run python -m spoolman.main
Stop the server once it's up.
Then, let Alembic automatically create a new migration file:
pdm run alembic revision -m "some title" --autogenerate
Go into the created migration and make sure it looks good, that the column changes etc are as desired. Format it with Black and Ruff. Commit.