Packages
ecto
0.11.3
3.14.1
3.14.0
3.13.6
3.13.5
3.13.4
3.13.3
3.13.2
3.13.1
3.13.0
3.12.6
3.12.5
3.12.4
3.12.3
3.12.2
3.12.1
3.12.0
3.11.2
3.11.1
3.11.0
3.10.3
3.10.2
3.10.1
3.10.0
3.9.6
3.9.5
3.9.4
3.9.3
3.9.2
3.9.1
3.9.0
3.8.4
3.8.3
3.8.2
3.8.1
3.8.0
3.7.2
3.7.1
3.7.0
3.6.2
3.6.1
3.6.0
3.5.8
3.5.7
3.5.6
3.5.5
3.5.4
3.5.3
3.5.2
3.5.1
3.5.0
3.5.0-rc.1
3.5.0-rc.0
3.4.6
3.4.5
3.4.4
3.4.3
3.4.2
3.4.1
3.4.0
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.5
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.7
3.1.6
3.1.5
3.1.4
3.1.3
3.1.2
3.1.1
3.1.0
3.0.9
3.0.8
3.0.7
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
3.0.0-rc.1
3.0.0-rc.0
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.2.0-rc.1
2.2.0-rc.0
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.1.0-rc.5
2.1.0-rc.4
2.1.0-rc.3
2.1.0-rc.2
2.1.0-rc.1
2.1.0-rc.0
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
2.0.0-beta.2
2.0.0-beta.1
2.0.0-beta.0
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.16.0
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.1
0.13.0
0.12.1
0.12.0
0.12.0-rc
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
A toolkit for data mapping and language integrated query for Elixir
Current section
Files
Jump to
Current section
Files
integration_test/support/migration.exs
defmodule Ecto.Integration.Migration do
use Ecto.Migration
def change do
create table(:posts) do
add :title, :string, size: 100
add :counter, :integer, default: 10
add :text, :binary
add :uuid, :uuid
add :public, :boolean
add :cost, :decimal, precision: 2, scale: 1
add :visits, :integer
add :intensity, :float
timestamps null: true
end
# Add a unique index on uuid. We use this
# to verify the behaviour that the index
# only matters if the UUID column is not NULL.
create index(:posts, [:uuid], unique: true)
create_users_table()
create_permalinks_table()
create table(:comments) do
add :text, :string, size: 100
add :posted, :datetime
add :post_id, references(:posts)
add :author_id, references(:users)
timestamps
end
create table(:customs, primary_key: false) do
add :uuid, :uuid, primary_key: true
end
create table(:barebones) do
add :num, :integer
end
create table(:transactions) do
add :text, :text
end
create table(:lock_counters) do
add :count, :integer
end
unless :array_type in ExUnit.configuration[:exclude] do
create table(:tags) do
add :ints, {:array, :integer}
add :uuids, {:array, :uuid}
end
end
end
# For the users table, let's do a longer migration,
# checking other migration features.
#
# create table(:users) do
# add :name, :text
# add :custom_id, :uuid
# end
#
defp create_users_table do
false = exists? table(:users)
create table(:users) do
add :name, :string
add :to_be_removed, :string
end
true = exists? table(:users)
alter table(:users) do
modify :name, :text
add :custom_id, :uuid
remove :to_be_removed
end
index = index(:users, [:custom_id], unique: true)
false = exists? index
create index
true = exists? index
drop index
false = exists? index
end
# For the permalinks table, let's create a table,
# drop it, and get a new one.
#
# create table(:permalinks) do
# add :url
# add :post_id, :integer
# add :lock_version, :integer, default: 1
# end
#
defp create_permalinks_table do
create table(:permalinks) do
add :to_be_removed
end
drop table(:permalinks)
create table(:permalinks) do
add :url
add :post_id, :integer
add :lock_version, :integer, default: 1
end
end
end