2016-04-06 5 views
0

У меня есть таблица с большим количеством данных. Конкретным столбцом, в котором я хочу заменить значения, является десятичный тип данных. Я хочу заменить все значения 0 на null. Как это сделать с миграциями Rails? Я хочу сделать то же самое для столбцов типа даты, которые соответствуют, например, 1111-11-11.Rails: Преобразование всех значений, которые соответствуют нулевому

+0

Вы изменяете структуру своей схемы или просто пытаетесь изменить данные? –

+0

@ AnthonyE Только данные – Kunok

ответ

1

Как правило, миграция используется для изменения структуры базы данных, а не ее содержимого.

Чтобы обновить все строки, соответствующие значения:

Model.where(column_name: 0).update_all(column_name: nil) 

Вы могли бы сделать то же самое с типом дата:

Model.where(date: '1111-11-11').update_all(column_name: nil) 

Вы можете положить их в миграции, но задача рейк может быть более подходящим местом.

Смежные вопросы