Вставка задерживается в рельсах - PullRequest
2 голосов
/ 08 сентября 2010

как сделать?есть опция активной записи?

Ответы [ 2 ]

4 голосов
/ 08 сентября 2010

Вы можете сделать это с помощью rails monkey patch:

class ActiveRecord::Base
  def self.insert_low_priority(hash)
    keys = hash.keys.map { |v| "`#{v}`" }.join(',')
    values = hash.values.map { |v| sanitize(v) }.join(',')
    connection.insert_sql("INSERT LOW_PRIORITY INTO `#{table_name}` (#{keys}) VALUES(#{values})")
  end
end

Добавьте его в инициализаторы, например, конфиг / Инициализаторы / activerecord_insert_low_priority.rb

Простое использование: ModelName.insert_low_priority :column1 => 'value'

1 голос
/ 22 июля 2011

MySQL также предоставляет «INSERT DELAYED», который немного отличается от «LOW PRIORITY», на мой взгляд?

...