ecto_cockroachdb

CockroachDB adaptor for Ecto


License
MIT

Documentation

CockroachDB Ecto Adaptor

This is a very small fork of the official Postgresql Adaptor bundled with ecto_sql.

The main reason for this fork is Ecto 3.x no longer keeps microseconds information for :time, :naive_datetime and :utc_datetime.

The net effect is it uses timestamp(0) when creating fields with such types and the migration table used by Ecto is using one of those types.

The problem is CockroachDB does not support timestamp with precision unless it's the default precision (6).

This adaptor use the default precision for those types. It also disable the migration lock given locking is not supported by CockroachDB either.

For more information, check the github issue

Installation

The package can be installed by adding ecto_cockroachdb to your list of dependencies in mix.exs:

def deps do
  [
    {:ecto_cockroachdb, "~> 1.0.0"}
  ]
end

Usage

# In your application code
defmodule Sample.Repo do
  use Ecto.Repo,
    otp_app: :my_app,
    adapter: Ecto.Adapters.CockroachDB
end