Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- defmodule Finapp.Repo.Migrations.InitialDatabase do
- use Ecto.Migration
- def up do
- create table(:users) do
- add :email, :string, null: false
- add :password_hash, :string
- add :name, :string, null: false
- timestamps()
- end
- create unique_index(:users, [:email])
- create table(:expenses) do
- add :value, :integer, null: false
- add :note, :string
- add :inserted_at, :date, null: false, default: fragment("current_date")
- add :user_id, references(:users), null: false
- end
- create table(:tags) do
- add :name, :string, null: false
- add :user_id, references(:users), null: false
- add :expense_id, references(:expenses)
- end
- alter table(:expenses) do
- add :tag_id, references(:tags), null: false
- end
- create index(:tags, [:name])
- end
- def down do
- drop index(:tags, [:name])
- alter table(:expenses) do
- remove :tag_id
- end
- drop table(:tags)
- drop table(:expenses)
- drop index(:users, [:email])
- drop table(:users)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement