migrate to using db connection string from env

This commit is contained in:
Viktor Barzin 2025-06-22 21:16:55 +00:00
parent 84a55eefde
commit efe3248c07
No known key found for this signature in database
GPG key ID: 4056458DBDBF8863
9 changed files with 375 additions and 177 deletions

View file

@ -1,38 +0,0 @@
"""add more fields to tables
Revision ID: 042751f52538
Revises: 72b7410ff3e6
Create Date: 2025-06-08 17:49:25.347510
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import sqlite
# revision identifiers, used by Alembic.
revision: str = '042751f52538'
down_revision: Union[str, None] = '72b7410ff3e6'
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! ###
op.add_column('buylisting', sa.Column('price_history_json', sa.String(), nullable=False))
op.drop_column('buylisting', 'price_history')
op.add_column('rentlisting', sa.Column('price_history_json', sa.String(), nullable=False))
op.drop_column('rentlisting', 'price_history')
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('rentlisting', sa.Column('price_history', sqlite.JSON(), nullable=False))
op.drop_column('rentlisting', 'price_history_json')
op.add_column('buylisting', sa.Column('price_history', sqlite.JSON(), nullable=False))
op.drop_column('buylisting', 'price_history_json')
# ### end Alembic commands ###

View file

@ -0,0 +1,82 @@
"""initial
Revision ID: 6363b18a22ca
Revises:
Create Date: 2025-06-22 15:27:23.187594
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
import sqlmodel
# revision identifiers, used by Alembic.
revision: str = '6363b18a22ca'
down_revision: Union[str, None] = None
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! ###
op.create_table('buylisting',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('price', sa.Float(), nullable=False),
sa.Column('number_of_bedrooms', sa.Integer(), nullable=False),
sa.Column('square_meters', sa.Float(), nullable=True),
sa.Column('agency', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('council_tax_band', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('longtitude', sa.Float(), nullable=False),
sa.Column('latitude', sa.Float(), nullable=False),
sa.Column('price_history_json', sa.TEXT(), nullable=False),
sa.Column('listing_site', sa.Enum('RIGHTMOVE', name='listingsite'), nullable=False),
sa.Column('last_seen', sa.DateTime(), nullable=False),
sa.Column('photo_thumbnail', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('floorplan_image_paths', sa.JSON(), nullable=False),
sa.Column('additional_info', sa.JSON(), nullable=False),
sa.Column('routing_info_json', sa.TEXT(), nullable=True),
sa.Column('service_charge', sa.Float(), nullable=True),
sa.Column('lease_left', sa.Integer(), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_table('rentlisting',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('price', sa.Float(), nullable=False),
sa.Column('number_of_bedrooms', sa.Integer(), nullable=False),
sa.Column('square_meters', sa.Float(), nullable=True),
sa.Column('agency', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('council_tax_band', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('longtitude', sa.Float(), nullable=False),
sa.Column('latitude', sa.Float(), nullable=False),
sa.Column('price_history_json', sa.TEXT(), nullable=False),
sa.Column('listing_site', sa.Enum('RIGHTMOVE', name='listingsite'), nullable=False),
sa.Column('last_seen', sa.DateTime(), nullable=False),
sa.Column('photo_thumbnail', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('floorplan_image_paths', sa.JSON(), nullable=False),
sa.Column('additional_info', sa.JSON(), nullable=False),
sa.Column('routing_info_json', sa.TEXT(), nullable=True),
sa.Column('available_from', sa.DateTime(), nullable=True),
sa.Column('furnish_type', sa.Enum('FURNISHED', 'UNFURNISHED', 'PART_FURNISHED', 'ASK_LANDLORD', 'UNKNOWN', name='furnishtype'), nullable=False),
sa.PrimaryKeyConstraint('id')
)
op.create_table('user',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('email', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('password', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.PrimaryKeyConstraint('id')
)
op.create_index(op.f('ix_user_email'), 'user', ['email'], unique=True)
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f('ix_user_email'), table_name='user')
op.drop_table('user')
op.drop_table('rentlisting')
op.drop_table('buylisting')
# ### end Alembic commands ###

View file

@ -1,94 +0,0 @@
"""add more fields to tables
Revision ID: 72b7410ff3e6
Revises:
Create Date: 2025-06-08 10:56:22.448446
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
import sqlmodel
# revision identifiers, used by Alembic.
revision: str = "72b7410ff3e6"
down_revision: Union[str, None] = None
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! ###
op.create_table(
"buylisting",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("price", sa.Float(), nullable=False),
sa.Column("number_of_bedrooms", sa.Integer(), nullable=False),
sa.Column("square_meters", sa.Float(), nullable=True),
sa.Column("agency", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column(
"council_tax_band", sqlmodel.sql.sqltypes.AutoString(), nullable=True
),
sa.Column("longtitude", sa.Float(), nullable=False),
sa.Column("latitude", sa.Float(), nullable=False),
sa.Column("price_history", sa.JSON(), nullable=False),
sa.Column(
"listing_site", sa.Enum("RIGHTMOVE", name="listingsite"), nullable=False
),
sa.Column("last_seen", sa.DateTime(), nullable=False),
sa.Column("photo_thumbnail", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("floorplan_image_paths", sa.JSON(), nullable=False),
sa.Column("additional_info", sa.JSON(), nullable=False),
sa.Column("routing_info_json", sa.String(), nullable=True),
sa.Column("service_charge", sa.Float(), nullable=True),
sa.Column("lease_left", sa.Integer(), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"rentlisting",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("price", sa.Float(), nullable=False),
sa.Column("number_of_bedrooms", sa.Integer(), nullable=False),
sa.Column("square_meters", sa.Float(), nullable=True),
sa.Column("agency", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column(
"council_tax_band", sqlmodel.sql.sqltypes.AutoString(), nullable=True
),
sa.Column("longtitude", sa.Float(), nullable=False),
sa.Column("latitude", sa.Float(), nullable=False),
sa.Column("price_history", sa.JSON(), nullable=False),
sa.Column(
"listing_site", sa.Enum("RIGHTMOVE", name="listingsite"), nullable=False
),
sa.Column("last_seen", sa.DateTime(), nullable=False),
sa.Column("photo_thumbnail", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("floorplan_image_paths", sa.JSON(), nullable=False),
sa.Column("additional_info", sa.JSON(), nullable=False),
sa.Column("routing_info_json", sa.String(), nullable=True),
sa.Column("available_from", sa.DateTime(), nullable=True),
sa.Column(
"furnish_type",
sa.Enum(
"FURNISHED",
"UNFURNISHED",
"PART_FURNISHED",
"UNKNOWN",
name="furnishtype",
),
nullable=False,
),
sa.PrimaryKeyConstraint("id"),
)
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table("rentlisting")
op.drop_table("buylisting")
# ### end Alembic commands ###

View file

@ -1,42 +0,0 @@
"""add more fields to tables
Revision ID: 73f976506aa8
Revises: 042751f52538
Create Date: 2025-06-11 20:54:05.429912
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
import sqlmodel
# revision identifiers, used by Alembic.
revision: str = "73f976506aa8"
down_revision: Union[str, None] = "042751f52538"
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! ###
op.create_table(
"user",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("email", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("password", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(op.f("ix_user_email"), "user", ["email"], unique=True)
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f("ix_user_email"), table_name="user")
op.drop_table("user")
# ### end Alembic commands ###