msc: type resolution as float

v0.8
rrr-marble 3 years ago
parent 81ebc2cb5f
commit 14ea755a51

@ -5,6 +5,7 @@ from sqlalchemy import pool
from alembic import context
# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config
@ -45,6 +46,7 @@ def run_migrations_offline() -> None:
target_metadata=target_metadata,
literal_binds=True,
dialect_opts={"paramstyle": "named"},
compare_type=True,
)
with context.begin_transaction():
@ -65,7 +67,11 @@ def run_migrations_online() -> None:
)
with connectable.connect() as connection:
context.configure(connection=connection, target_metadata=target_metadata)
context.configure(
connection=connection,
target_metadata=target_metadata,
compare_type=True,
)
with context.begin_transaction():
context.run_migrations()

@ -0,0 +1,38 @@
"""Cast resolution as float
Revision ID: 15b3c7a8e804
Revises: 4968a333a100
Create Date: 2022-10-31 23:55:04.806055
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "15b3c7a8e804"
down_revision = "4968a333a100"
branch_labels = None
depends_on = None
def upgrade() -> None:
# ### commands MANUALLY composed for Alembic ###
op.execute(
sa.text(
"ALTER TABLE geodata ALTER COLUMN resolution TYPE FLOAT USING resolution::double precision"
)
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic ###
op.alter_column(
"geodata",
"resolution",
existing_type=sa.Float(),
type_=sa.VARCHAR(),
existing_nullable=True,
)
# ### end Alembic commands ###

@ -9,8 +9,9 @@ from sqlalchemy.dialects.postgresql import TSVECTOR
# if we are run as a module or as a script
# https://stackoverflow.com/questions/14132789/relative-imports-for-the-billionth-time/14132912
import sys
parent_module = sys.modules['.'.join(__name__.split('.')[:-1]) or '__main__']
if __name__ == '__main__' or parent_module.__name__ == '__main__':
parent_module = sys.modules[".".join(__name__.split(".")[:-1]) or "__main__"]
if __name__ == "__main__" or parent_module.__name__ == "__main__":
from database import Base
else:
from .database import Base
@ -45,7 +46,7 @@ class ItemBase(Base):
description = Column(String)
form_dimentions = Column(String)
datalist = Column(String)
resolution = Column(String)
resolution = Column(Float)
date = Column(String)
additional_info = Column(String)
scanner = Column(String)

@ -69,7 +69,7 @@ class ItemBase(BaseModel):
description: Optional[str] = None
form_dimentions: Optional[str] = None
datalist: Optional[str] = None
resolution: Optional[str] = None
resolution: Optional[float] = None
date: Optional[Union[datetime, str]] = None
additional_info: Optional[str] = None
scanner: Optional[str] = None

Loading…
Cancel
Save