Skip to content

Commit 565c49b

Browse files
jirhikerclaude
andcommitted
refactor(db): drop SSMA_TimeStamp from NM_Wells mirror
The SSMA_TimeStamp column is a SQL Server rowversion artifact with no value as staging data (the loader already skipped it). Remove it from the NMW_* mirror models and both migrations; drop the now-unused LargeBinary import. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 9fdb768 commit 565c49b

3 files changed

Lines changed: 1 addition & 32 deletions

File tree

alembic/versions/u7v8w9x0y1z2_nmw_legacy_staging_mirror_tables.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ def upgrade() -> None:
7171
sa.Column("Exclude", sa.SmallInteger(), nullable=True),
7272
sa.Column("Comments", sa.String(), nullable=True),
7373
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
74-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
7574
sa.Column("API", sa.String(), nullable=True),
7675
sa.PrimaryKeyConstraint("OBJECTID"),
7776
)
@@ -115,7 +114,6 @@ def upgrade() -> None:
115114
sa.Column("Comments", sa.String(), nullable=True),
116115
sa.Column("Import_ID", sa.String(), nullable=True),
117116
sa.Column("Import_DB", sa.String(), nullable=True),
118-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
119117
sa.PrimaryKeyConstraint("WellDataID"),
120118
)
121119

@@ -156,7 +154,6 @@ def upgrade() -> None:
156154
sa.Column("ElvAccVal", sa.Float(), nullable=True),
157155
sa.Column("Comments", sa.String(), nullable=True),
158156
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=False),
159-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
160157
sa.PrimaryKeyConstraint("GlobalID"),
161158
)
162159
op.create_index("ix_NMW_WellZDatum_RecrdsetID", "NMW_WellZDatum", ["RecrdsetID"])
@@ -192,7 +189,6 @@ def upgrade() -> None:
192189
sa.Column("EnteredBy", sa.String(), nullable=True),
193190
sa.Column("EntryDate", sa.DateTime(), nullable=True),
194191
sa.Column("Notes", sa.String(), nullable=True),
195-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
196192
sa.PrimaryKeyConstraint("SamplSetID"),
197193
)
198194
op.create_index("ix_NMW_WellSamples_RecrdsetID", "NMW_WellSamples", ["RecrdsetID"])

alembic/versions/v8w9x0y1z2a3_nmw_geothermal_dst_mirror_tables.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ def upgrade() -> None:
5656
sa.Column("FldViscsty", sa.Float(), nullable=True),
5757
sa.Column("FluidLoss", sa.String(length=50), nullable=True),
5858
sa.Column("Notes", sa.String(length=255), nullable=True),
59-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
6059
sa.PrimaryKeyConstraint("BHTGUID"),
6160
)
6261
op.create_index(
@@ -74,7 +73,6 @@ def upgrade() -> None:
7473
sa.Column("DateMeasrd", sa.DateTime(), nullable=True),
7574
sa.Column("Comments", sa.String(length=255), nullable=True),
7675
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
77-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
7876
sa.PrimaryKeyConstraint("OBJECTID"),
7977
)
8078
op.create_index("ix_NMW_GtBhtData_BHTGUID", "NMW_GtBhtData", ["BHTGUID"])
@@ -92,7 +90,6 @@ def upgrade() -> None:
9290
sa.Column("From_Elev", sa.Float(), nullable=True),
9391
sa.Column("To_Elev", sa.Float(), nullable=True),
9492
sa.Column("Intv_Notes", sa.String(length=255), nullable=True),
95-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
9693
sa.PrimaryKeyConstraint("IntrvlGUID"),
9794
)
9895
op.create_index("ix_NMW_WsIntervals_SamplSetID", "NMW_WsIntervals", ["SamplSetID"])
@@ -105,7 +102,6 @@ def upgrade() -> None:
105102
sa.Column("CnductUnit", sa.String(length=3), nullable=True),
106103
sa.Column("Comments", sa.String(length=255), nullable=True),
107104
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
108-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
109105
sa.PrimaryKeyConstraint("OBJECTID"),
110106
)
111107
op.create_index(
@@ -126,7 +122,6 @@ def upgrade() -> None:
126122
sa.Column("Q_unit", sa.String(length=3), nullable=True),
127123
sa.Column("Comments", sa.String(length=255), nullable=True),
128124
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
129-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
130125
sa.PrimaryKeyConstraint("OBJECTID"),
131126
)
132127
op.create_index("ix_NMW_GtHeatFlow_IntrvlGUID", "NMW_GtHeatFlow", ["IntrvlGUID"])
@@ -162,7 +157,6 @@ def upgrade() -> None:
162157
sa.Column("Quality", sa.String(length=50), nullable=True),
163158
sa.Column("Comments", sa.String(length=255), nullable=True),
164159
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
165-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
166160
sa.PrimaryKeyConstraint("OBJECTID"),
167161
)
168162
op.create_index(
@@ -182,7 +176,6 @@ def upgrade() -> None:
182176
sa.Column("IntrvlGrad", sa.Float(), nullable=True),
183177
sa.Column("Comments", sa.String(length=255), nullable=True),
184178
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
185-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
186179
sa.PrimaryKeyConstraint("OBJECTID"),
187180
)
188181
op.create_index(
@@ -226,7 +219,6 @@ def upgrade() -> None:
226219
sa.Column("PipeDia", sa.Float(), nullable=True),
227220
sa.Column("PipeLength", sa.Float(), nullable=True),
228221
sa.Column("Notes", sa.String(length=255), nullable=True),
229-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
230222
sa.PrimaryKeyConstraint("DSTInterval"),
231223
)
232224
op.create_index("ix_NMW_WsDstIntervals_DSTGUID", "NMW_WsDstIntervals", ["DSTGUID"])
@@ -245,7 +237,6 @@ def upgrade() -> None:
245237
sa.Column("RecovType", sa.String(length=255), nullable=True),
246238
sa.Column("Notes", sa.String(length=255), nullable=True),
247239
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
248-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
249240
sa.PrimaryKeyConstraint("OBJECTID"),
250241
)
251242
op.create_index(
@@ -262,7 +253,6 @@ def upgrade() -> None:
262253
sa.Column("Chlorides", sa.Float(), nullable=True),
263254
sa.Column("Notes", sa.String(length=255), nullable=True),
264255
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
265-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
266256
sa.PrimaryKeyConstraint("OBJECTID"),
267257
)
268258
op.create_index(
@@ -300,7 +290,6 @@ def upgrade() -> None:
300290
sa.Column("TempUnit", sa.String(length=5), nullable=True),
301291
sa.Column("Notes", sa.String(length=255), nullable=True),
302292
sa.Column("GlobalID", postgresql.UUID(as_uuid=True), nullable=True),
303-
sa.Column("SSMA_TimeStamp", sa.LargeBinary(), nullable=True),
304293
sa.PrimaryKeyConstraint("OBJECTID"),
305294
)
306295
op.create_index(

db/nmw_legacy.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
real / float -> Float
9191
nvarchar -> String (source lengths not in the sheet; widened)
9292
datetime2 -> DateTime
93-
timestamp -> LargeBinary (SQL Server rowversion; staging only)
93+
timestamp -> dropped (SQL Server rowversion; no value as staging data)
9494
9595
TODO(verify): primary keys below are inferred from the mapping sheet /
9696
relationship notes, not from source DDL. Confirm against the dump.
@@ -100,7 +100,6 @@
100100
DateTime,
101101
Float,
102102
Integer,
103-
LargeBinary,
104103
SmallInteger,
105104
String,
106105
)
@@ -160,7 +159,6 @@ class NMW_WellLocations(Base):
160159
exclude = mapped_column("Exclude", SmallInteger) # Drop
161160
comments = mapped_column("Comments", String) # (unmapped)
162161
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
163-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
164162
api = mapped_column("API", String) # Drop
165163

166164

@@ -214,7 +212,6 @@ class NMW_WellHeaders(Base):
214212
comments = mapped_column("Comments", String) # -> well_detail.comments
215213
import_id = mapped_column("Import_ID", String) # Drop
216214
import_db = mapped_column("Import_DB", String) # Drop
217-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
218215

219216

220217
class NMW_WellRecords(Base):
@@ -291,7 +288,6 @@ class NMW_WellZDatum(Base):
291288
comments = mapped_column("Comments", String) # Drop
292289
# TODO(verify PK): GlobalID assumed PK.
293290
global_id = mapped_column("GlobalID", UUID(as_uuid=True), primary_key=True) # Drop
294-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
295291

296292

297293
class NMW_WellSamples(Base):
@@ -337,7 +333,6 @@ class NMW_WellSamples(Base):
337333
entered_by = mapped_column("EnteredBy", String) # -> sample.created_by_name
338334
entry_date = mapped_column("EntryDate", DateTime) # -> sample.created_at
339335
notes = mapped_column("Notes", String) # -> sample.notes
340-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
341336

342337

343338
# =============================================================================
@@ -367,7 +362,6 @@ class NMW_GtBhtHeaders(Base):
367362
fld_viscsty = mapped_column("FldViscsty", Float)
368363
fluid_loss = mapped_column("FluidLoss", String(50))
369364
notes = mapped_column("Notes", String(255))
370-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
371365

372366

373367
class NMW_GtBhtData(Base):
@@ -386,7 +380,6 @@ class NMW_GtBhtData(Base):
386380
date_measrd = mapped_column("DateMeasrd", DateTime)
387381
comments = mapped_column("Comments", String(255))
388382
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
389-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
390383

391384

392385
class NMW_WsIntervals(Base):
@@ -407,7 +400,6 @@ class NMW_WsIntervals(Base):
407400
from_elev = mapped_column("From_Elev", Float)
408401
to_elev = mapped_column("To_Elev", Float)
409402
intv_notes = mapped_column("Intv_Notes", String(255))
410-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
411403

412404

413405
class NMW_GtConductivity(Base):
@@ -423,7 +415,6 @@ class NMW_GtConductivity(Base):
423415
cnduct_unit = mapped_column("CnductUnit", String(3))
424416
comments = mapped_column("Comments", String(255))
425417
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
426-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
427418

428419

429420
class NMW_GtHeatFlow(Base):
@@ -445,7 +436,6 @@ class NMW_GtHeatFlow(Base):
445436
q_unit = mapped_column("Q_unit", String(3))
446437
comments = mapped_column("Comments", String(255))
447438
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
448-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
449439

450440

451441
class NMW_GtSumHeatFlow(Base):
@@ -486,7 +476,6 @@ class NMW_GtSumHeatFlow(Base):
486476
quality = mapped_column("Quality", String(50))
487477
comments = mapped_column("Comments", String(255))
488478
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
489-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
490479

491480

492481
class NMW_GtTempDepths(Base):
@@ -504,7 +493,6 @@ class NMW_GtTempDepths(Base):
504493
intrvl_grad = mapped_column("IntrvlGrad", Float)
505494
comments = mapped_column("Comments", String(255))
506495
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
507-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
508496

509497

510498
# =============================================================================
@@ -555,7 +543,6 @@ class NMW_WsDstIntervals(Base):
555543
pipe_dia = mapped_column("PipeDia", Float)
556544
pipe_length = mapped_column("PipeLength", Float)
557545
notes = mapped_column("Notes", String(255))
558-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
559546

560547

561548
class NMW_WsDstFlowHistory(Base):
@@ -577,7 +564,6 @@ class NMW_WsDstFlowHistory(Base):
577564
recov_type = mapped_column("RecovType", String(255))
578565
notes = mapped_column("Notes", String(255))
579566
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
580-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
581567

582568

583569
class NMW_WsDstFluidProperties(Base):
@@ -595,7 +581,6 @@ class NMW_WsDstFluidProperties(Base):
595581
chlorides = mapped_column("Chlorides", Float)
596582
notes = mapped_column("Notes", String(255))
597583
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
598-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
599584

600585

601586
class NMW_WsDstPressure(Base):
@@ -632,7 +617,6 @@ class NMW_WsDstPressure(Base):
632617
temp_unit = mapped_column("TempUnit", String(5))
633618
notes = mapped_column("Notes", String(255))
634619
global_id = mapped_column("GlobalID", UUID(as_uuid=True)) # Drop
635-
ssma_timestamp = mapped_column("SSMA_TimeStamp", LargeBinary) # Drop (rowversion)
636620

637621

638622
# =============================================================================

0 commit comments

Comments
 (0)