Почему Rails gem activerecord-import не сохраняет записи в БД?

Здравствуйте
Использую Rail 3.2.13 , версия гема 0.3.1. БД MySQL. Гем решил использовать для сохранения большого количества записей в БД за раз. Порядка 200 тысяч. Решил вначале протестировать из консоли.
Loading development environment (Rails 3.2.13)
1.9.3-p448 :001 > statuses = [Status.new(name: 'test1'), Status.new(name: 'test2')]
 => [#<Status id: nil, name: "test1", validity: true, created_at: nil, updated_at: nil, info: nil>, #<Status id: nil, name: "test2", validity: true, created_at: nil, updated_at: nil, info: nil>]
1.9.3-p448 :002 > Status.import statuses
  Status Exists (0.3ms)  SELECT 1 AS one FROM `statuses` WHERE `statuses`.`name` = 'test1' LIMIT 1
  Status Exists (0.2ms)  SELECT 1 AS one FROM `statuses` WHERE `statuses`.`name` = 'test2' LIMIT 1
   (0.4ms)  SHOW VARIABLES like 'max_allowed_packet';
  Class Create Many Without Validations Or Callbacks (0.3ms)  INSERT INTO `statuses` (`id`,`name`,`validity`,`created_at`,`updated_at`,`info`) VALUES (NULL,'test1',1,'2014-08-27 11:36:59','2014-08-27 11:36:59',NULL),(NULL,'test2',1,'2014-08-27 11:36:59','2014-08-27 11:36:59',NULL) ON DUPLICATE KEY UPDATE `statuses`.`updated_at`=VALUES(`updated_at`)
 => #<struct ActiveRecord::Import::Result failed_instances=[], num_inserts=1>
1.9.3-p448 :003 > Status.all
  Status Load (0.3ms)  SELECT `statuses`.* FROM `statuses`
 => [#<Status id: 1, name: "test1", validity: true, created_at: "2014-08-27 07:36:59", updated_at: "2014-08-27 07:36:59", info: nil>, #<Status id: 2, name: "test2", validity: true, created_at: "2014-08-27 07:36:59", updated_at: "2014-08-27 07:36:59", info: nil>]


Но в БД записей нет. Только рельсы видят записи:) Вроде сделал всё как в описании к гему. Подскажите в чем ошибка?

update: Если после import создам ещё одну запись средствами ActiveRecord:
1.9.3-p448 :011 > Status.create(name: 'test3')
То все три записи окажутся в БД. Подскажите пожалуйста где зарыта собака?:)
  • Вопрос задан
  • 2662 просмотра
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
Видимо рельсы смотрят в правильную БД, а вы нет. Изучите файл config/databases.yml, возможно там есть разгадка
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы