Graphtia documentation · reference
Database code analysis: TypeScript, JavaScript and Python
See how Explorer recognizes TypeScript / JavaScript database evidence, Python database evidence, which source relationships it exposes, and what remains outside static coverage.
These evidence producers connect supported source-level database uses to indexed SQL declarations. The sections below separate detection, supported relationships, required source context and limits.
Explore an example: TypeScript / JavaScript database evidence · Python database evidence
TypeScript / JavaScript database evidence
Locate supported source-declared SQL/table accesses and link them to indexed table declarations when the evidence resolves uniquely.
Which declared table could this source SQL refer to?
Evidence to inspect- Exact source owner to Proven driver and literal SQL siteowns SQL site
- Proven driver and literal SQL site to Declared table identity: public.orderssupported SQL reference
- Declared table identity: public.orders to Indexed SQL declarationcandidate declaration · Candidate
Inspect a supported database receiver and literal SQL site, then follow bounded declaration candidates with their confidence and source ranges.
Dynamic SQL, unknown receivers and ambiguous declarations retain their limits. The final relationship is declared-table evidence; it does not show an executed query or a live connection.
How it is recognized
Recognized driver imports and proven factory/receiver ownership, including postgres, pg, better-sqlite3 and supported mysql/mysql2 forms.
Relationships you can inspect
Bounded literal/prepared SQL access candidates with exact source owner/range.
Supported receiver/factory and callback provenance across accepted source context; declared-table correlation in the DB query layer.
Required source context
Indexed TS/JS/TSX/JSX facts and supported driver patterns; relevant DDL declarations are required for a declared-table target.
Coverage limits
Dynamic SQL, unknown/reassigned/shadowed receivers and unsupported driver/wrapper patterns remain partial or unresolved.
No connection, SQL execution, row access, query plan or applied-schema verification; driver names are not additional framework/dialect counts.
Python database evidence
Link explicit supported Django/SQLAlchemy table declarations and recognized SQLAlchemy text executions to declared tables.
Which table declaration matches this supported Python database use?
Evidence to inspect- Exact Python source owner to Recognized Session.execute text siteowns SQL site
- Recognized Session.execute text site to Literal table identity: public.orderssupported SQL reference
- Literal table identity: public.orders to Indexed SQL declarationcandidate declaration · Candidate
Inspect explicit Django or SQLAlchemy table identities and recognized source-local SQLAlchemy text executions, then review declaration candidates.
Unknown sessions, nonliteral names, schema overrides and general cross-source receiver inference remain outside this producer. Python DB-code evidence has its own receiver and naming requirements; an ORM logo alone establishes no table link.
How it is recognized
Proven Django/SQLAlchemy import/base identity, explicit table names, and supported Session.execute(text(...)) receiver evidence.
Relationships you can inspect
Django Meta.db_table, SQLAlchemy __tablename__ and static Table(...).
Bounded SQLAlchemy text access candidates with accepted Python owners and source evidence.
Required source context
Accepted Python module facts; explicit table/schema identifiers and indexed DDL for target correlation.
Coverage limits
This producer is source-local; it does not claim general cross-source receiver binding.
Schema-overriding/dynamic model expressions can prevent a safe table key; no arbitrary ORM inference or live database connection/execution.
How to interpret a result
Inspect the source location, revision and relationship kind. A recognized registration is static evidence; it does not establish runtime behavior or compatibility with every framework release. Unresolved or ambiguous targets should remain part of your review.
