Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
消除rails sqlite数据库中的重复条目_Sql_Database_Sqlite_Ruby On Rails 3.1_Duplicates - Fatal编程技术网

消除rails sqlite数据库中的重复条目

消除rails sqlite数据库中的重复条目,sql,database,sqlite,ruby-on-rails-3.1,duplicates,Sql,Database,Sqlite,Ruby On Rails 3.1,Duplicates,我正在学习RubyonRails。 首先,我将一些数据从csv文件导入sqlite数据库。然后,我成功地将数据传输到rails环境中。 在检查数据库时,我意识到我已经为数据库中的每个条目创建了5个副本。我想清理数据库,我想知道最好的选择是什么 以下是我想我需要做的,但如果你想到了,请提出更好的方法: 在rails中编写一个调用原始sql的方法,从表中删除可能的重复项,并将它们输入另一个名为“duplicates”的表中 然后检查表“Duplicates”中的条目,决定是保留它们还是删除它们 最后

我正在学习RubyonRails。 首先,我将一些数据从csv文件导入sqlite数据库。然后,我成功地将数据传输到rails环境中。 在检查数据库时,我意识到我已经为数据库中的每个条目创建了5个副本。我想清理数据库,我想知道最好的选择是什么

以下是我想我需要做的,但如果你想到了,请提出更好的方法:

  • 在rails中编写一个调用原始sql的方法,从表中删除可能的重复项,并将它们输入另一个名为“duplicates”的表中
  • 然后检查表“Duplicates”中的条目,决定是保留它们还是删除它们
  • 最后,检查完成后,将要保留的条目转移回原始表

  • 另外,我应该将此方法放在何处以删除重复项?在“模型”或其他地方?

    最简单的解决方案是清除数据库并重新导入,这样您就只有一个副本

    或者,您可以使用SQLite客户端并直接在SQL中清理它

    对于像这样的实用方法,如果您选择该路径,通常您将执行一个Rake任务。因此,它将进入lib/tasks中