2012-03-28 2 views
0

Я изучаю рубин на рельсах. Я начал с импорта некоторых данных в базу данных sqlite из файла csv. Затем я успешно передал эти данные в среду рельсов. После проверки базы данных я понял, что создал 5 копий каждой записи в базе данных. Я хотел очистить базу данных, и мне было интересно, какие лучшие варианты могут сделать это?Избавление от дублирующих записей в базе данных rails sqlite

Вот что я думаю, что мне нужно сделать, но, пожалуйста, предложить более эффективные способы, если вы думаете о них:

  1. Написать метод в рельсах, который вызывает необработанный SQL, который удаляет возможные дубликаты из таблицы и входит их в другую таблицу, называемую «дубликаты»
  2. Затем пройдите через записи в таблице «Дубликаты» и решите сохранить или удалить их.
  3. Наконец после завершения проверки, передать данные, которые подлежат удержанию обратно в исходной таблице

Кроме того, где я должен поставить этот метод, чтобы удалить дубликаты? В «модели» или где-то еще?

ответ

0

Самое простое решение - просто очистить базу данных и повторно импортировать, чтобы у вас была только одна копия.

Или вы можете использовать клиент SQLite и очистить его непосредственно в SQL.

Для такого метода утилиты, если вы выберете этот маршрут, обычно вы делаете задачу Rake. Таким образом, это пойдет в lib/tasks.

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