akkoma/priv/repo/migrations/20170522160642_case_insensivtivity.exs
2023-01-02 20:38:50 +00:00

35 lines
817 B
Elixir

# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Repo.Migrations.CaseInsensivtivity do
use Ecto.Migration
# Two-steps alters are intentional.
# When alter of 2 columns is done in a single operation,
# inconsistent failures happen because of index on `email` column.
def up do
execute("create extension if not exists citext")
alter table(:users) do
modify(:email, :citext)
end
alter table(:users) do
modify(:nickname, :citext)
end
end
def down do
alter table(:users) do
modify(:email, :string)
end
alter table(:users) do
modify(:nickname, :string)
end
execute("drop extension if exists citext")
end
end