Decision
In your database, by your SQL query, there are no duplicate records.
Maybe the size or length method in your class. The project has been redefined. I tried find_all_by_id and the SQL query seems correct.
1.9.2-p180 :006 > Script.find_all_by_id(1).size Script Load (0.7ms) SELECT "scripts".* FROM "scripts" WHERE "scripts"."id" = 1 => 1
Tip
If you want to count records, you must do it this way.
Script.where(id: 1).size (0.8ms) SELECT COUNT(*) FROM "scripts" WHERE "scripts"."id" = 1 => 1
Since, as you can see, the calculation is performed by your database , and not by ruby ββitself. For a dozen lines you won't see the difference, but if you have thousands or millions ...
source share