From 7553962f2b8f13d921fc1e25c35d6a8938f28d56 Mon Sep 17 00:00:00 2001 From: Linus Vogel Date: Tue, 10 Feb 2026 22:03:29 +0100 Subject: [PATCH] Added environments to the database --- ...31ee4_added_environment_assignments_to_.py | 32 +++++++++++++++++++ pillar_tool/db/models/top_data.py | 11 +++++++ 2 files changed, 43 insertions(+) create mode 100644 pillar_tool/db/migrations/versions/2026_02_10_2147-dd573f631ee4_added_environment_assignments_to_.py diff --git a/pillar_tool/db/migrations/versions/2026_02_10_2147-dd573f631ee4_added_environment_assignments_to_.py b/pillar_tool/db/migrations/versions/2026_02_10_2147-dd573f631ee4_added_environment_assignments_to_.py new file mode 100644 index 0000000..bddb03a --- /dev/null +++ b/pillar_tool/db/migrations/versions/2026_02_10_2147-dd573f631ee4_added_environment_assignments_to_.py @@ -0,0 +1,32 @@ +"""Added environment assignments to database + +Revision ID: dd573f631ee4 +Revises: e33744090598 +Create Date: 2026-02-10 21:47:33.493901 + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = 'dd573f631ee4' +down_revision: Union[str, Sequence[str], None] = 'e33744090598' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### diff --git a/pillar_tool/db/models/top_data.py b/pillar_tool/db/models/top_data.py index 7961dc8..88174b6 100644 --- a/pillar_tool/db/models/top_data.py +++ b/pillar_tool/db/models/top_data.py @@ -15,6 +15,17 @@ class Environment(Base): ) +class EnvironmentAssignment(Base): + __tablename__ = "pillar_tool_environment_assignment" + + environment_id = Column(UUID, ForeignKey("pillar_tool_environment.id"), nullable=False) + host_id = Column(UUID, ForeignKey("pillar_tool_host.id"), nullable=False) + + __table_args__ = ( + UniqueConstraint('environment_id', 'host_id', name="pillar_tool_unique_environment_assignment") + ) + + class State(Base): __tablename__ = "pillar_tool_state"