74 lines
3.9 KiB
Python
74 lines
3.9 KiB
Python
"""add geom column
|
|
|
|
Revision ID: b7538fce8343
|
|
Revises: 6cd12cae8c96
|
|
Create Date: 2026-02-07 14:33:51.832269
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from geoalchemy2 import Geography
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = 'b7538fce8343'
|
|
down_revision: Union[str, Sequence[str], None] = '6cd12cae8c96'
|
|
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.drop_table('layer')
|
|
# op.drop_table('spatial_ref_sys')
|
|
# op.drop_table('topology')
|
|
op.add_column('locations', sa.Column('geom',Geography(geometry_type='POINT', srid=4326, dimension=2, from_text='ST_GeogFromText', name='geography', nullable=False), nullable=False))
|
|
op.execute(
|
|
"CREATE INDEX IF NOT EXISTS idx_locations_geom ON locations USING gist (geom);"
|
|
)
|
|
op.create_unique_constraint('uq_osm_location', 'locations', ['osm_type', 'osm_id'])
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade() -> None:
|
|
"""Downgrade schema."""
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_constraint('uq_osm_location', 'locations', type_='unique')
|
|
op.drop_index('idx_locations_geom', table_name='locations', postgresql_using='gist')
|
|
op.drop_column('locations', 'geom')
|
|
# op.create_table('topology',
|
|
# sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False),
|
|
# sa.Column('name', sa.VARCHAR(), autoincrement=False, nullable=False),
|
|
# sa.Column('srid', sa.INTEGER(), autoincrement=False, nullable=False),
|
|
# sa.Column('precision', sa.DOUBLE_PRECISION(precision=53), autoincrement=False, nullable=False),
|
|
# sa.Column('hasz', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=False),
|
|
# sa.Column('useslargeids', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=False),
|
|
# sa.PrimaryKeyConstraint('id', name=op.f('topology_pkey')),
|
|
# sa.UniqueConstraint('name', name=op.f('topology_name_key'), postgresql_include=[], postgresql_nulls_not_distinct=False)
|
|
# )
|
|
# op.create_table('spatial_ref_sys',
|
|
# sa.Column('srid', sa.INTEGER(), autoincrement=False, nullable=False),
|
|
# sa.Column('auth_name', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
|
|
# sa.Column('auth_srid', sa.INTEGER(), autoincrement=False, nullable=True),
|
|
# sa.Column('srtext', sa.VARCHAR(length=2048), autoincrement=False, nullable=True),
|
|
# sa.Column('proj4text', sa.VARCHAR(length=2048), autoincrement=False, nullable=True),
|
|
# sa.CheckConstraint('srid > 0 AND srid <= 998999', name=op.f('spatial_ref_sys_srid_check')),
|
|
# sa.PrimaryKeyConstraint('srid', name=op.f('spatial_ref_sys_pkey'))
|
|
# )
|
|
# op.create_table('layer',
|
|
# sa.Column('topology_id', sa.INTEGER(), autoincrement=False, nullable=False),
|
|
# sa.Column('layer_id', sa.INTEGER(), autoincrement=False, nullable=False),
|
|
# sa.Column('schema_name', sa.VARCHAR(), autoincrement=False, nullable=False),
|
|
# sa.Column('table_name', sa.VARCHAR(), autoincrement=False, nullable=False),
|
|
# sa.Column('feature_column', sa.VARCHAR(), autoincrement=False, nullable=False),
|
|
# sa.Column('feature_type', sa.INTEGER(), autoincrement=False, nullable=False),
|
|
# sa.Column('level', sa.INTEGER(), server_default=sa.text('0'), autoincrement=False, nullable=False),
|
|
# sa.Column('child_id', sa.INTEGER(), autoincrement=False, nullable=True),
|
|
# sa.ForeignKeyConstraint(['topology_id'], ['topology.id'], name=op.f('layer_topology_id_fkey')),
|
|
# sa.PrimaryKeyConstraint('topology_id', 'layer_id', name=op.f('layer_pkey')),
|
|
# sa.UniqueConstraint('schema_name', 'table_name', 'feature_column', name=op.f('layer_schema_name_table_name_feature_column_key'), postgresql_include=[], postgresql_nulls_not_distinct=False)
|
|
# )
|
|
# ### end Alembic commands ###
|