Sqlite.Ecto Build Status

Sqlite.Ecto is a SQLite3 Adapter for Ecto.

Read the tutorial for a detailed example of how to setup and use a SQLite repo with Ecto, or just check-out the CliffsNotes in the sections below if you want to get started quickly.

Dependencies

Sqlite.Ecto relies on Sqlitex and esqlite. Since esqlite uses Erlang NIFs, you will need a valid C compiler to build the library.

Example

Here is an example usage:

# In your config/config.exs file
config :my_app, Repo,
adapter: Sqlite.Ecto,
database: "ecto_simple.sqlite3"
# In your application code
defmodule Repo do
use Ecto.Repo,
otp_app: :my_app,
adapter: Sqlite.Ecto
end
defmodule Weather do
use Ecto.Model
schema "weather" do
field :city # Defaults to type :string
field :temp_lo, :integer
field :temp_hi, :integer
field :prcp, :float, default: 0.0
end
end
defmodule Simple do
import Ecto.Query
def sample_query do
query = from w in Weather,
where: w.prcp > 0 or is_nil(w.prcp),
select: w
Repo.all(query)
end
end

Usage

Add Sqlite.Ecto as a dependency in your mix.exs file.

def deps do
[{:sqlite_ecto, "~> 0.5.0"}]
end

You should also update your applications list to include both projects:

def application do
[applications: [:logger, :sqlite_ecto, :ecto]]
end

To use the adapter in your repo:

defmodule MyApp.Repo do
use Ecto.Repo,
otp_app: :my_app,
adapter: Sqlite.Ecto
end