EctoDBScanner (EctoDBScanner v0.3.0)

Copy Markdown View Source

A PostgreSQL database scanner that discovers structure, maps types, and detects enums.

Summary

Functions

Scans a PostgreSQL database and returns its structure.

Functions

scan(opts)

Scans a PostgreSQL database and returns its structure.

Accepts connection params as a keyword list:

EctoDBScanner.scan(
  hostname: "localhost",
  username: "postgres",
  password: "postgres",
  database: "my_db",
  port: 5432
)

Options

  • :analyze (boolean, default true) — Runs ANALYZE against the target database before scanning so planner statistics (notably pg_class.reltuples, used for row counts and enum detection sampling) are fresh. On large databases this may take a while; set to false if stats are already current or the connecting role lacks permission.

All other options are passed through to the underlying repo connection.

Returns {:ok, %EctoDBScanner.Result.Database{}} or {:error, reason}.