Это невозможно сейчас с новыми записями. Что касается ar-extensions 0.9.3, это не будет работать при синхронизации новых записей, так как синхронизация ожидает, что записи, которые вы синхронизируете, уже существуют. Он использует первичный ключ под крышками, чтобы определить, что загружать (но с новыми записями первичный ключ равен нулю). Это ограничение * также существует в activerecord-import 0.2.5. Если вы можете синхронизироваться с другими условиями, я был бы рад выпустить новый гем, позволяющий передавать условия. Для Rails 3.x вам нужно использовать activerecord-import (он заменяет ar-extensions). Пожалуйста, создайте заявку / выпуск на github: https://github.com/zdennis/activerecord-import/issues
Для Rails 2.x вы все еще хотите использовать ar-extensions, и я, вероятно, сделаю бэкпорт для обновления activerecord-import и также добавлю новый гем. Если вам нужна эта функциональность, пожалуйста, создайте заявку / выпуск на github: https://github.com/zdennis/ar-extensions/
Патчи также приветствуются.
* Ограничение здесь - это ограничение базы данных, так как невозможно получить идентификаторы всех вновь созданных записей после одной вставки / импорта без выполнения чего-то странного, например блокировки таблицы, что я не считаю хорошим Решение этой проблемы. Если у кого-то есть идеи, я весь в ушах.
UPDATE
activerecord-import 0.2.6 и ar-extensions 0.9.4 были выпущены и включают поддержку указания полей, по которым вы хотите синхронизировать. Эти поля должны быть уникальными. См http://www.continuousthinking.com/2011/4/6/activerecord-import-0-2-6-and-ar-extensions-0-9-4