How hrabe/odbc-on-macos works
This repository automates configuring macOS ODBC drivers and testing them against database servers, with manual setup guides as an alternative. The documented workflow uses setup.yml to define database-specific settings, then install tasks prepare Docker containers and ODBC drivers; start/stop tasks manage containers, and test tasks attempt connections with isql. The sampled helpers show configuration loading, driver/DSN registration, and optional binary installation paths. The Rake task implementation and several subsystems were not sampled, so those links rely on README statements; the database-specific manual guides are represented without inferring their internals.
Main entry points: Rakefile Rake tasks · odbc_binaries.rb Binary installer · setup.yml Setup workbook · odbc.rb ODBC config helpers
Components 18
Setup workflow
- Rake tasks
Rakefile - Setup workbook
setup.yml - Workbook loader
rakelib/helper/setup.rb - Connection test
Rakefile
Database containers
- Container lifecycle
rakelib/helper/docker.rb - Docker
- Database servers
ODBC configuration
- ODBC config helpers
rakelib/helper/odbc.rb - Driver registration
rakelib/helper/odbc_driver.rb - DSN registration
rakelib/helper/odbc_dsn.rb - FreeTDS config
rakelib/helper/odbc_freetds.rb - DB2 CLI config
rakelib/helper/odbc_db2cli.rb - unixODBC tools
Driver installation
- Binary installer
rakelib/helper/odbc_binaries.rb - Driver sources
binaries/source - Driver build scripts
binaries/build
Manual guides
- Vendor setup guides
docs
Other components
- Operator
Connections 25
- Operator → Rake tasks: runs tasks
README.md - Rake tasks → Setup workbook: uses configuration
README.md - Rake tasks → Container lifecycle: manages containers
README.md - Rake tasks → Binary installer: installs drivers
README.md - Rake tasks → Driver registration: registers drivers
- Rake tasks → DSN registration: registers DSNs
- Rake tasks → FreeTDS config: configures FreeTDS
- Rake tasks → DB2 CLI config: configures DB2
- Rake tasks → Connection test: runs tests
README.md - Connection test → unixODBC tools: tests with isql
README.md - Container lifecycle → Docker: runs commands
rakelib/helper/docker.rb - Docker → Database servers: hosts containers
README.md - Container lifecycle → Setup workbook: reads settings
rakelib/helper/docker.rb - Workbook loader → Setup workbook: loads YAML
rakelib/helper/setup.rb - Driver registration → ODBC config helpers: formats entries
rakelib/helper/odbc_driver.rb - DSN registration → ODBC config helpers: formats entries
rakelib/helper/odbc_dsn.rb - FreeTDS config → ODBC config helpers: formats entries
rakelib/helper/odbc_freetds.rb - DB2 CLI config → ODBC config helpers: formats entries
rakelib/helper/odbc_db2cli.rb - Driver registration → unixODBC tools: registers driver
rakelib/helper/odbc_driver.rb - DSN registration → unixODBC tools: registers DSN
rakelib/helper/odbc_dsn.rb - FreeTDS config → unixODBC tools: registers DSN
rakelib/helper/odbc_freetds.rb - Binary installer → Setup workbook: reads install options
rakelib/helper/odbc_binaries.rb - Binary installer → Driver sources: unpacks sources
rakelib/helper/odbc_binaries.rb - Binary installer → Driver build scripts: runs build script
rakelib/helper/odbc_binaries.rb - Operator → Vendor setup guides: follows guides
README.md