Popularity
2.4
Growing
Activity
7.9
-
8
3
4

Monthly Downloads: 108
Programming language: Elixir
License: Apache License 2.0

isn alternatives and similar packages

Based on the "ORM and Datamapping" category.
Alternatively, view isn alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of isn or a related project?

Add another 'ORM and Datamapping' Package

README

ISN

Build Status

ISN adds a Postgrex.Extension and Ecto.Type definitions for the datatypes defined in the isn PostgreSQL module.

Usage

Ecto migrations

defmodule MyApp.Repo.Migrations.CreateBook do
  use Ecto.Migration

  def change do
    create table(:books) do
      add :isbn, :isbn13
      # other fields
    end
  end
end

Ecto Models

defmodule MyApp.Book do
  use MyApp.Web, :model

  schema "books" do
    field :isbn, ISN.ISBN13, read_after_writes: true
    # other fields
  end
end

Installation

Add the package to your Mixfile

defp deps do
  [{:isn, "~> 2.0"}]
end

Add the isn extension to your database

mix do isn.gen.migration, ecto.migrate

In lib/ directory create a file with the following content:

Postgrex.Types.define(
  MyApp.PostgrexTypes,
  [ISN] ++ Ecto.Adapters.Postgres.extensions(),
  json: Poison
)

Add the following lines in conig.exs:

config :my_app, MyApp.Repo,
  types: MyApp.PostgrexTypes

Defined types

ISN adds the following ecto and corresponding postgrex types:

Ecto.Type Postgrex type
ISN.ISBN :isbn
ISN.ISBN13 :isbn13
ISN.ISMN :ismn
ISN.ISMN13 :ismn13
ISN.ISSN :issn
ISN.ISSN13 :issn13
ISN.EAN13 :ean13
ISN.UPC :upc