40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
"""add_scope_infos_table
|
|
|
|
Revision ID: d1e2f3a4b5c6
|
|
Revises: c9f1a2b3d4e5
|
|
Create Date: 2026-07-16 20:00:00.000000
|
|
"""
|
|
|
|
from collections.abc import Sequence
|
|
|
|
import sqlalchemy as sa
|
|
|
|
from alembic import op
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = "d1e2f3a4b5c6"
|
|
down_revision: str | None = "c9f1a2b3d4e5"
|
|
branch_labels: str | Sequence[str] | None = None
|
|
depends_on: str | Sequence[str] | None = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.create_table(
|
|
"scope_infos",
|
|
sa.Column("id", sa.Integer(), nullable=False),
|
|
sa.Column("augmented_part_id", sa.Integer(), nullable=False),
|
|
sa.Column("magnification_min", sa.Float(), nullable=True),
|
|
sa.Column("magnification_max", sa.Float(), nullable=True),
|
|
sa.Column("model_suffix", sa.String(), nullable=True),
|
|
sa.Column("objective_thread_pitch", sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(
|
|
["augmented_part_id"], ["augmented_parts.id"], ondelete="CASCADE"
|
|
),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
sa.UniqueConstraint("augmented_part_id"),
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_table("scope_infos")
|