誰かがacts_as_xapian_jobsテーブルの内部動作を私に説明できますか?acts_as_xapian jobsテーブル
私はそれがXapianのインデックス付きフィールドを持つオブジェクトを作成するときに、次のエラーを取得保管場所私は、最近acts_as_xapian
プラグインの問題に遭遇した
:
Mysql::Error: Duplicate entry 'String-2147483647' for key 2:
INSERT INTO `acts_as_xapian_jobs` (`action`, `model`, `model_id`)
VALUES ('update', 'String', 23730251831560)
それはmodel_id
がの最大int値を超え判明回避策は、model_id
をbigintを使用するように更新することでした。 model_id
はなぜ巨大なのでしょうか? acts_as_xapian_jobs
の内容を見ると、索引付けされているすべてのフィールドの行が作成されているようです。 ジョブがテーブル内でどのように作成されるかを理解することは、大いに役立ちます。
ここでは、テーブルのサンプリングです:事前に
mysql> select * from acts_as_xapian_jobs limit 5\G
*************************** 1. row ***************************
id: 19
model: String
model_id: 23804037900560
action: update
*************************** 2. row ***************************
id: 49
model: String
model_id: 23804037191200
action: update
*************************** 3. row ***************************
id: 79
model: String
model_id: 23804037932180
action: update
*************************** 4. row ***************************
id: 109
model: String
model_id: 23804037101700
action: update
*************************** 5. row ***************************
id: 139
model: String
model_id: 23804037722160
action: update
おかげで、
Amieの
返信ありがとうございます@Feross。これはしばらく前のことですが、正しく覚えていれば、私はacts_as_xapianのフォークバージョンを使用していましたが、元のバージョンに切り替えた後は正常に機能しました。それ以来、すばらしい仕事をしています! – Grnbeagle