Как написать миграцию в Ecto, чтобы удалить значение по умолчанию для столбца? Скажем, у меня есть таблица под названием :users
с колонкой под названием :timezone
что ранее дефолте к «Etc/UTC» ...Как удалить столбец по умолчанию в Ecto?
Вот начало моей миграции ...
def up do
alter table(:users) do
modify :timezone, :string, default: fragment("NULL"), null: true
end
end
def down do
alter table(:users) do
modify :timezone, :string, default: "Etc/UTC", null: false
end
end
Думаю, вам нужно выполнить 'default: nil'. Вы видите, работает ли это? – Dogbert
Я только что проверил. 'default: nil' будет устанавливать по умолчанию значение' NULL'. Он не будет точно «DROP» по умолчанию (например, вы получите с часовым поясом «ALTER COLUMN» «DROP DEFAULT»). Я не нашел упоминания о «DROP DEFAULT» в Ecto, поэтому я считаю, что это невозможно сейчас. – Dogbert