UUID Helper module for Phoenix (Elixir) application

UUID helper for Database schemas Adds the functionality of uuid column in your database table and your schema.

Steps to use this library -

STEP 1

Add the dependecy to your mix.exs file -

{:uuid_helper_module, "~> 0.0.2"}

STEP 2

Migration -

Create a migration using the following command -

mix ecto.gen.migration add_uuid_support

This will create a migration file, add the following code to the migration file -

use Ecto.Migration

def up do
  execute("CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\" WITH SCHEMA public;")
end

def down do
  execute("DROP EXTENSION \"uuid-ossp\";")
end

STEP 3

Now to add uuid column in your table and schema.

Add uuid to a schema named User -

defmodule MyRepo.User do
  @moduledoc """
  """

  use Ecto.Schema

  import Ecto
  import UuidHelperModule.UUIDSchema

  schema "users" do
    field(:first_name, :string, null: false)

    uuid_schema()
  end
end

Add uuid column to migration file when trying to create a table named user -

defmodule MyRepo.Migrations.AddUser do
  use Ecto.Migration

  import UuidHelperModule.UUIDMigration

  def change do
    create table(:users) do
      add(:first_name, :string, null: false)
      uuid_column()
    end

    create_index_on_uuid("users")
  end
end

These will create uuid column to your schema and migration.

Try running the migration using mix ecto.migrate.

Hex Package -

https://hex.pm/packages/uuid_helper_module