Wherever possible and reasonable, Jiffy relies on packages found in the Go standard library. As of this writing, Go version 1.14.3 is recommended in order to build the Jiffy binary. Jiffy requires a running database from the following list of supported databases:
The following Go database drivers are required, even if you are only planning to make use of one of the DBMS’s in the supported list. This is due to the fact that Jiffy attempts to connect to your test database during the code generation process and there is no guarantee what that database may be. It is possible that a developer tests with SQLite locally when generating the code and performing initial tests, but intends to ultimately connect to Postgres.
Driver Name | Driver Location |
---|---|
SAP Hana Database Driver | github.com/SAP/go-hdb/driver |
MSSQL Database Driver | github.com/denisenkom/go-mssqldb |
MySQL Database Driver | github.com/go-sql-driver/mysql |
PostgreSQL Database Driver | github.com/lib/pq |
SQLite3 Database Driver | github.com/mattn/go-sqlite3 |
The database drivers can be pulled down from their respective repositories via the go get -u command. However, correct versions of the database drivers will be pulled from their respective repositories based on the go.mod file in the project codebase during the build process.
go get -u github.com/lib/pq
Library Name | Library Location |
---|---|
sqac ORM | github.com/1414C/sqac |
sluggo Key-Value-Store | github.com/1414C/sluggo |
golang-jwt package | "github.com/golang-jwt |
gorilla mux package | github.com/gorilla/mux |
web-sockets package | golang.org/x/net/websocket |
log-writer package | github.com/1414C/lw |
redis client | github.com/garyburd/redigo/redis |
memcached client | github.com/bradfitz/gomemcache/memcache |
If you wish to be certain that you have everything, copy and execute the following script in your development and build environments. go get should pull the libraries based on the content of jiffy’s go.mod file.
#!/usr/bin/bash
go get -u github.com/1414C/sqac
go get -u github.com/1414C/sluggo/wscl
go get -u github.com/golang-jwt/jwt
go get -u github.com/golang-jwt/jwt/request
go get -u github.com/gorilla/mux
go get -u golang.org/x/net/websocket
go get -u github.com/SAP/go-hdb/driver
go get -u github.com/denisenkom/go-mssqldb
go get -u github.com/go-sql-driver/mysql
go get -u github.com/lib/pq
go get -u github.com/mattn/go-sqlite3
go get -u github.com/garyburd/redigo/redis
go get -u github.com/bradfitz/gomemcache/memcache