1.5 KiB
		
	
	
	
	
	
			
		
		
	
	
			1.5 KiB
		
	
	
	
	
	
ISN
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
    # other fields
  end
end
Installation
Add the package to your Mixfile
defp deps do
  [{:isn, "~> 1.0"}]
end
Add the isn extension to your database
mix do isn.gen.migration, ecto.migrate
Register the postgrex extension in your Repo config
config :books, MyApp.Repo,
  adapter: Ecto.Adapters.Postgres,
  extensions: [{ISN, []}]
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 |