Refactor Alembic migration scripts and Variable model
This commit is contained in:
parent
242bd55a24
commit
90f1efb18b
3 changed files with 54 additions and 4 deletions
|
|
@ -22,7 +22,6 @@ depends_on: Union[str, Sequence[str], None] = None
|
||||||
def upgrade() -> None:
|
def upgrade() -> None:
|
||||||
conn = op.get_bind()
|
conn = op.get_bind()
|
||||||
inspector = Inspector.from_engine(conn) # type: ignore
|
inspector = Inspector.from_engine(conn) # type: ignore
|
||||||
table_names = inspector.get_table_names()
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
column_names = [column["name"] for column in inspector.get_columns("variable")]
|
column_names = [column["name"] for column in inspector.get_columns("variable")]
|
||||||
with op.batch_alter_table("variable", schema=None) as batch_op:
|
with op.batch_alter_table("variable", schema=None) as batch_op:
|
||||||
|
|
@ -35,7 +34,6 @@ def upgrade() -> None:
|
||||||
def downgrade() -> None:
|
def downgrade() -> None:
|
||||||
conn = op.get_bind()
|
conn = op.get_bind()
|
||||||
inspector = Inspector.from_engine(conn) # type: ignore
|
inspector = Inspector.from_engine(conn) # type: ignore
|
||||||
table_names = inspector.get_table_names()
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
column_names = [column["name"] for column in inspector.get_columns("variable")]
|
column_names = [column["name"] for column in inspector.get_columns("variable")]
|
||||||
with op.batch_alter_table("variable", schema=None) as batch_op:
|
with op.batch_alter_table("variable", schema=None) as batch_op:
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
"""Set name and value to not nullable
|
||||||
|
|
||||||
|
Revision ID: c153816fd85f
|
||||||
|
Revises: 1f4d6df60295
|
||||||
|
Create Date: 2024-04-30 14:31:23.898995
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
from typing import Sequence, Union
|
||||||
|
|
||||||
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
from sqlalchemy.engine.reflection import Inspector
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision: str = "c153816fd85f"
|
||||||
|
down_revision: Union[str, None] = "1f4d6df60295"
|
||||||
|
branch_labels: Union[str, Sequence[str], None] = None
|
||||||
|
depends_on: Union[str, Sequence[str], None] = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade() -> None:
|
||||||
|
conn = op.get_bind()
|
||||||
|
inspector = Inspector.from_engine(conn) # type: ignore
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
columns = inspector.get_columns("variable")
|
||||||
|
with op.batch_alter_table("variable", schema=None) as batch_op:
|
||||||
|
name_column = [column for column in columns if column["name"] == "name"][0]
|
||||||
|
if name_column and name_column[0]["nullable"]:
|
||||||
|
batch_op.alter_column("name", existing_type=sa.VARCHAR(), nullable=False)
|
||||||
|
value_column = [column for column in columns if column["name"] == "value"][0]
|
||||||
|
if value_column and value_column[0]["nullable"]:
|
||||||
|
batch_op.alter_column("value", existing_type=sa.VARCHAR(), nullable=False)
|
||||||
|
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade() -> None:
|
||||||
|
conn = op.get_bind()
|
||||||
|
inspector = Inspector.from_engine(conn) # type: ignore
|
||||||
|
columns = inspector.get_columns("variable")
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
with op.batch_alter_table("variable", schema=None) as batch_op:
|
||||||
|
name_column = [column for column in columns if column["name"] == "name"][0]
|
||||||
|
if name_column and not name_column[0]["nullable"]:
|
||||||
|
batch_op.alter_column("name", existing_type=sa.VARCHAR(), nullable=True)
|
||||||
|
value_column = [column for column in columns if column["name"] == "value"][0]
|
||||||
|
if value_column and not value_column[0]["nullable"]:
|
||||||
|
batch_op.alter_column("name", existing_type=sa.VARCHAR(), nullable=True)
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
@ -13,8 +13,8 @@ def utc_now():
|
||||||
|
|
||||||
|
|
||||||
class VariableBase(SQLModel):
|
class VariableBase(SQLModel):
|
||||||
name: Optional[str] = Field(None, description="Name of the variable")
|
name: str = Field(description="Name of the variable")
|
||||||
value: Optional[str] = Field(None, description="Encrypted value of the variable")
|
value: str = Field(description="Encrypted value of the variable")
|
||||||
default_fields: Optional[List[str]] = Field(sa_column=Column(JSON))
|
default_fields: Optional[List[str]] = Field(sa_column=Column(JSON))
|
||||||
type: Optional[str] = Field(None, description="Type of the variable")
|
type: Optional[str] = Field(None, description="Type of the variable")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue