RatchetWrench
** This library alpha level version. Not use in production. **
RatchetWrench is a easily use Google Cloud Spanner by Elixir.
Installation
If available in Hex, the package can be installed
by adding ratchet_wrench to your list of dependencies in mix.exs:
def deps do
[
{:ratchet_wrench, "~> 0.0.1"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ratchet_wrench.
Setup
Credentials
Add GCP credentials json file path for env GOOGLE_APPLICATION_CREDENTIALS.
more detail's for goth.
Set Google Cloud Spanner config
Set database.
Add env RATCHET_WRENCH_DATABASE.
ex) "projects/projectname-123456/instances/your-instance/databases/your-db"
export RATCHET_WRENCH_DATABASE="projects/projectname-123456/instances/your-instance/databases/your-db"
or
Add config.exs
config :ratchet_wrench, database: "projects/projectname-123456/instances/your-instance/databases/your-db"
You must replace projectname-123456, your-instance, your-db.
Logging
Output for Logger module.
Add env RATCHET_WRENCH_ENABLE_LOGGING
export RATCHET_WRENCH_ENABLE_LOGGING=1
or
Add config.exs
config :ratchet_wrench, enable_logging: true
Migration
I recommend using wrench.
Usage
Sorry, will write sample more codes.
- How to define model(Table) ->
test/test_helper.exs - How to SELECT/INSERT/UPDATE ->
test/ratchet_wrench/repo_test.exs
Support type in Google Cloud Spanner
- STRING
- DATE
- BOOL
- INT64
- FLOAT64
- TIMESTAMP
Unsupport types
- ARRAY
- BYTES
- STRUCT