You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revert unrelated init.sh/SNP scope creep; simplify regex loading and umap_expression
- config/init.sh: drop the db_exists/import_if_missing wrapper that had
been applied to every database (including ones this PR never touches,
like fastpheno and gaia). Every SQL dump already starts with DROP TABLE
IF EXISTS/CREATE TABLE, so the wrapper wasn't needed for correctness --
it introduced a bug (schema-exists check skipped real-data imports once
the dynamic bootstrap created an empty table first) and needed a second
fix to reorder around it. Restored plain unconditional imports for every
database, keeping only DB_HOST (needed for docker-compose, where the api
container talks to a separate BAR_mysqldb container).
- config/databases/soybean_nssnp.sql, tomato_nssnp.sql: restore the
FOREIGN KEY constraint dropped by the same commit that bloated init.sh;
unrelated to the expression API.
- api/utils/bar_utils.py: collapse the eFP-project alias assignments into
a small alias dict + loop instead of six hardcoded lines.
- Remove the dead api/models/bar_utils.py bridge file that only
re-exported BARUtils from api/utils/bar_utils.py; point
api/services/efp_data.py at the real module directly.
- Move scripts/bootstrap_simple_efp_dbs.py's CLI into
api/services/efp_bootstrap.py (run via `python3 -m
api.services.efp_bootstrap`) and delete the standalone script;
config/init.sh updated to match.
- api/resources/umap_expression.py: stop leaking raw exception text to
API clients (no other endpoint does this -- they all return a fixed
BARUtils.error_exit message), and extract the query/retry/merge logic
out of one monolithic method into module-level helpers
(_fetch_expression_row, _fetch_coords, _merge_coords_and_expression),
matching the rest of the codebase's structure.
0 commit comments