Skip to content

Commit a627a01

Browse files
committed
Expand macOS docs for core homebrew formula
I'm working on a formula for the core Homebrew repository that would support all but Firebird and Oracle. So highlight it here, and document the installation of additional libraries. The Homebrew formula will link to this page when installation finishes. But also cover the tap for those who need to manage Oracle or Firebird databases.
1 parent d3d2187 commit a627a01

File tree

1 file changed

+102
-9
lines changed

1 file changed

+102
-9
lines changed

content/download/macos.md

+102-9
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,115 @@ id: install
66

77
{{% section class="brew" %}}
88

9-
The [Sqitch Homebrew Tap] quickly builds Sqitch on your Mac. To install from
10-
Homebrew, configure the tap and then install the variants you need via the
11-
appropriate `--use-$engine-support` options. For example, to install Sqitch with
12-
[PostgreSQL] and [SQLite] support:
9+
There are two methods to quickly install Sqitch on macOS using [Homebrew]. Use
10+
the [Sqitch Homebrew formula] to manage [PostgreSQL], [SQLite], and [MySQL]
11+
databases. It can also manage [Vertica], [Exasol], and [Snowflake] databases
12+
with the installation of additional client libraries, described below.
1313

14-
brew tap sqitchers/sqitch
15-
brew install sqitch --with-postgres-support --with-sqlite-support
14+
``` sh
15+
brew install sqitch
16+
```
1617

17-
Some engines require the installation of dependencies in advance; consult [the
18-
docs] for build details and options.
18+
Use the [Sqitch Homebrew Tap] to manage [Oracle] or [Firebird] databases, as
19+
detailed below.
1920

21+
### Postgres, SQLite, MySQL
22+
23+
The [Sqitch Homebrew formula] installs all the libraries needed to manage
24+
[SQLite], [MySQL], [MariaDB], [PostgreSQL], [YugabyteDB], and [CockroachDB]
25+
databases.
26+
27+
### Vertica
28+
29+
To manage [Vertica] databases, Sqitch depends on the presence of the Vertica
30+
ODBC driver and the `vsql` client. [Download][vsql] and install the ODBC and
31+
`vsql` packages for macOS prior to using Sqitch to manage Vertica databases.
32+
33+
### Exasol
34+
35+
To manage [Exasol] databases, Sqitch depends on the presence of the Exasol ODBC
36+
driver and the `EXAplus` client. [Download][exaplus] and install the ODBC and
37+
`EXAplus` packages for macOS prior to using Sqitch to manage Exasol databases.
38+
39+
### Snowflake
40+
41+
To manage [Snowflake] databases, Sqitch depends on the presence of the Snowflake
42+
ODBC driver (the `snowsql` client is installed by Homebrew). Download
43+
and install the [Snowflake ODBC driver] macOS prior to using Sqitch to manage
44+
Snowflake databases.
45+
46+
### Firebird
47+
48+
Use the [Sqitch Homebrew Tap] to manage [Firebird] databases. It depends on the
49+
presence of a Firebird database installation, both to build the necessary
50+
database driver at build time, and to use the `isql` client to manage databases
51+
at runtime. Alas, there appears to be no Homebrew formula for Firebird, so
52+
you'll have to manually [download][fbsql] and install it, then install Sqitch
53+
from the tap like so:
54+
55+
``` sh
56+
brew tap sqitchers/sqitch
57+
brew install sqitch --with-firebird-support
58+
```
59+
If no Firebird driver library is found, the build will fail.
60+
61+
### Oracle
62+
63+
Use the [Sqitch Homebrew Tap] to manage [Oracle] databases. This feature depends
64+
on the presence of the [Oracle Instant Client] Basic and SDK packages to build
65+
the necessary database driver at build time, plus the SQL\*Plus package to
66+
manage databases at runtime. If no Instant Client files are found, the build
67+
will fail.
68+
69+
Sadly, [System Integrity Protection] must be disabled in order to build Sqitch
70+
with Oracle support. This is to allow the setting of the `$DYLD_LIBRARY_PATH`
71+
environment variable, which is required for Oracle support in Sqitch. [Here's
72+
how].
73+
74+
With SIP disabled, set `$HOMEBREW_ORACLE_HOME` to the full path to the directory
75+
for Instant Client. This will allow the build to find the libraries necessary to
76+
complete the build with Oracle support. To use Sqitch with Oracle, you will
77+
need to set the `$ORACLE_HOME` and `$DYLD_LIBRARY_PATH` variables to point to
78+
the Instant Client, something like:
79+
80+
``` sh
81+
export ORACLE_HOME=/usr/local/instantclient_12_2
82+
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$ORACLE_HOME
83+
brew install sqitch --with-oracle-support
84+
```
85+
86+
[Homebrew]: https://brew.sh "The Missing Package Manager for macOS"
87+
[Sqitch Homebrew formula]: https://formulae.brew.sh/formula/sqitch
88+
"Sqitch Homebrew Formula"
2089
[Sqitch Homebrew Tap]: https://github.com/sqitchers/homebrew-sqitch/
2190
[PostgreSQL]: https://postgresql.org/
2291
"PostgreSQL: The World's Most Advanced Open Source Relational Database"
2392
[SQLite]: https://sqlite.org/
2493
"SQLite: Small. Fast. Reliable. Choose any three."
2594
[the docs]: https://github.com/sqitchers/homebrew-sqitch/#readme
95+
[Vertica]: https://www.vertica.com/ "Vertica Analytics Platform"
96+
[Exasol]: https://www.exasol.com/ "Exasol: The In-Memory Database Built for Analytics"
97+
[Snowflake]: https://www.snowflake.com/ "Snowflake: The Data Cloud"
98+
[vsql]: https://www.vertica.com/download/vertica/client-drivers/
99+
"Vertica Downloads: Client Drivers"
100+
[exaplus]: https://downloads.exasol.com "Exasol Downloads"
101+
[Snowflake ODBC driver]: https://docs.snowflake.net/manuals/user-guide/odbc-download.html
102+
"Snowflake Documentation: “Downloading the ODBC Driver”"
103+
[Oracle]: https://www.oracle.com/database/ "Oracle Database"
104+
[Firebird]: https://www.firebirdsql.org "Firebird open source database"
105+
[fbsql]: https://www.firebirdsql.org/en/server-packages/
106+
"Firebird Server Packages"
107+
[Oracle Instant Client]: https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html
108+
"Oracle Instant Client Downloads for macOS"
109+
[System Integrity Protection]: https://support.apple.com/en-us/HT204899
110+
"About System Integrity Protection on your Mac"
111+
[Here's how]: https://www.imore.com/how-turn-system-integrity-protection-macos
112+
"iMore: “How to turn off System Integrity Protection on your Mac”"
113+
[MySQL]: https://www.mysql.com "MySQL: The world's most popular open source database"
114+
[MariaDB]: https://mariadb.org "MariaDB Server: The open source relational database"
115+
[YugabyteDB]: https://www.yugabyte.com/yugabytedb/
116+
"YugabyteDB: The open source distributed SQL database for cloud native transactional applications"
117+
[CockroachDB]: https://www.cockroachlabs.com/product/
118+
"CockroachDB: The world’s most evolved cloud SQL database"
26119

27-
{{% /section %}}
120+
{{% /section %}}

0 commit comments

Comments
 (0)