Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion api/app.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import os
from contextlib import asynccontextmanager
from pathlib import Path

Expand All @@ -20,7 +21,8 @@
@asynccontextmanager
async def lifespan(app: Litestar):
await open_pool()
await ensure_schema()
if os.getenv("OSMSG_SKIP_SCHEMA_ENSURE", "").lower() not in {"1", "true", "yes"}:
await ensure_schema()
try:
yield
finally:
Expand Down
10 changes: 7 additions & 3 deletions api/pg_schema.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
PG_SCHEMA = """
CREATE EXTENSION IF NOT EXISTS postgis;
CREATE TABLE IF NOT EXISTS users (
uid BIGINT PRIMARY KEY,
username TEXT NOT NULL
Expand All @@ -10,10 +9,15 @@
created_at TIMESTAMPTZ,
hashtags TEXT[],
editor TEXT,
geom GEOMETRY(POLYGON)
min_lon DOUBLE PRECISION,
min_lat DOUBLE PRECISION,
max_lon DOUBLE PRECISION,
max_lat DOUBLE PRECISION
);
CREATE INDEX IF NOT EXISTS idx_changesets_created_at ON changesets(created_at);
CREATE INDEX IF NOT EXISTS idx_changesets_geom ON changesets USING GIST (geom);
CREATE INDEX IF NOT EXISTS idx_changesets_hashtags ON changesets USING GIN (hashtags);
CREATE INDEX IF NOT EXISTS idx_changesets_editor ON changesets(editor);
CREATE INDEX IF NOT EXISTS idx_changesets_bbox ON changesets(min_lon, min_lat, max_lon, max_lat);
CREATE TABLE IF NOT EXISTS changeset_stats (
changeset_id BIGINT NOT NULL REFERENCES changesets(changeset_id),
seq_id BIGINT NOT NULL,
Expand Down
Loading
Loading