@@ -6,22 +6,115 @@ id: install
6
6
7
7
{{% section class="brew" %}}
8
8
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.
13
13
14
- brew tap sqitchers/sqitch
15
- brew install sqitch --with-postgres-support --with-sqlite-support
14
+ ``` sh
15
+ brew install sqitch
16
+ ```
16
17
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 .
19
20
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"
20
89
[ Sqitch Homebrew Tap ] : https://github.com/sqitchers/homebrew-sqitch/
21
90
[ PostgreSQL ] : https://postgresql.org/
22
91
"PostgreSQL: The World's Most Advanced Open Source Relational Database"
23
92
[ SQLite ] : https://sqlite.org/
24
93
"SQLite: Small. Fast. Reliable. Choose any three."
25
94
[ 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"
26
119
27
- {{% /section %}}
120
+ {{% /section %}}
0 commit comments