Skip to content

Commit a42a601

Browse files
committed
Created an is_finalized column for maps
1 parent 357e7f6 commit a42a601

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

cli/macrostrat/cli/database/migrations/map_sources/01-maps-sources.sql

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
ALTER TABLE maps.sources ADD COLUMN IF NOT EXISTS raster_url text;
2+
ALTER TABLE maps.sources ADD COLUMN IF NOT EXISTS scale_denominator integer;
3+
ALTER TABLE maps.sources ADD COLUMN IF NOT EXISTS is_finalized boolean DEFAULT false;
24

35
DROP VIEW IF EXISTS macrostrat_api.sources_metadata CASCADE;
46
DROP VIEW IF EXISTS maps.sources_metadata CASCADE;
7+
DROP VIEW IF EXISTS macrostrat_api.sources CASCADE;
58

69
CREATE OR REPLACE VIEW maps.sources_metadata AS
710
SELECT
@@ -22,16 +25,9 @@ SELECT
2225
new_priority priority,
2326
status_code,
2427
raster_url,
25-
CASE
26-
WHEN psi.source_id IS NULL THEN false
27-
ELSE true
28-
END AS is_mapped
28+
scale_denominator,
29+
is_finalized
2930
FROM maps.sources AS s
30-
LEFT JOIN (
31-
SELECT
32-
DISTINCT(polygons.source_id)
33-
FROM maps.polygons
34-
) psi ON s.source_id = psi.source_id
3531
ORDER BY source_id DESC;
3632

3733
COMMENT ON VIEW maps.sources_metadata IS 'Convenience view for maps.sources with only metadata fields';
@@ -62,7 +58,9 @@ SELECT
6258
i.comments,
6359
i.created_on,
6460
i.completed_on,
65-
i.map_id
61+
i.map_id,
62+
s.is_finalized,
63+
s.scale_denominator
6664
FROM maps.sources_metadata s
6765
JOIN maps_metadata.ingest_process i
6866
ON i.source_id = s.source_id;
@@ -86,5 +84,7 @@ SELECT
8684
s.priority,
8785
s.status_code,
8886
s.raster_url,
89-
s.web_geom envelope
87+
s.web_geom envelope,
88+
s.is_finalized,
89+
s.scale_denominator
9090
FROM maps.sources s;

cli/macrostrat/cli/database/migrations/map_sources/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from macrostrat.core.migrations import Migration, view_exists
2+
from macrostrat.core.migrations import has_columns
23

34

45
class MapsSourcesMetadataMigration(Migration):
@@ -15,4 +16,5 @@ class MapsSourcesMetadataMigration(Migration):
1516
view_exists(
1617
"macrostrat_api", "sources_metadata", "sources_ingestion", "sources"
1718
),
19+
has_columns("maps", "sources", "is_finalized", "scale_denominator"),
1820
]

core/macrostrat/core/migrations/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def apply(self, database: Database) -> ApplicationStatus:
149149
in the same directory as the class definition."""
150150
if len(self.fixtures) == 0:
151151
# Automatically load fixtures from the same directory as the migration
152-
sql_dir = inspect.getfile(inspect.getfile(self.__class__)).parent
152+
sql_dir = Path(inspect.getfile(self.__class__)).parent
153153
database.run_fixtures(sql_dir, output_mode=self.output_mode)
154154
return
155155

map-integration/macrostrat/map_integration/utils/_database.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
def table_exists(db: Database, table_name: str, schema: str = "public") -> bool:
55
"""Check if a table exists in a PostgreSQL database."""
66
sql = """SELECT EXISTS (
7-
SELECT FROM information_schema.tables
7+
SELECT FROM information_schema.tables
88
WHERE table_schema = :schema
99
AND table_name = :table_name
1010
);"""
1111

1212
return db.run_query(sql, dict(schema=schema, table_name=table_name)).scalar()
1313

1414

15-
def column_exists(db, table_name, column_name, schema="public"):
15+
def column_exists(db: Database, table_name, column_name, schema="public"):
1616
res = db.run_query(
1717
"""
1818
SELECT count(*) FROM information_schema.columns c

0 commit comments

Comments
 (0)