Files
LabDataStorageEvaluation/docs/specs_old/12_export_sqlite.md
administrator b173ac82a9 fix(docs): fix formatting issues in README.md
- adapt meta-/code-/obs- rules to the local Python benchmark pipeline
- replace db-sql-ddl, code-config-env-scope, test-e2e-pytest with pipeline equivalents
- add code-python-style, data-determinism, data-naming-units, bench-methodology, build-pipeline-tasks
- normalize specs and README typography to ASCII per code-data-formatting
- rewrite root CLAUDE.md trigger table; add .cursorrules and .gitignore
- specs: pipeline plan and task specs 00-11
- rules: 19 binding rule files adapted for this project
- docs: CLAUDE.md rule-trigger table
- config: .cursorrules commit convention, .gitignore excluding out/ and .venv/
- docs: rewrite README.md with pipeline diagrams, setup guide, result placeholders
- config: requirements.txt for the closed dependency list
- datagen: make_lab_config.py writes out/config/lab_config.yaml and .done marker
2026-07-11 13:39:13 -04:00

912 B

Task 12 — Export: SQLite

Goal

Portable single-file SQLite database conforming to the ontology.

Input

  • canonical/ snapshot, schema/ddl_postgresql.sql.

Actions

  1. Write scripts/export_sqlite.py: translate DDL to SQLite dialect (bigint→INTEGER, timestamptz→TEXT ISO, keep FKs), create exports/sqlite/labdata.sqlite.
  2. Bulk-load in dependency order (hierarchy → lookups → headers → points); executemany in transactions; create indexes after load; PRAGMA journal_mode=OFF, synchronous=OFF during load, ANALYZE after.
  3. Load measurement_types, column_definitions, instruments tables; add lineage table (row-range level, not per-row, to bound size).

Intermediate Result (done when)

  • labdata.sqlite opens; per-table row counts equal canonical counts; FK integrity check passes (PRAGMA foreign_key_check empty).
  • exports/sqlite/EXPORT_MANIFEST.json written.