2015-12-01から1ヶ月間の記事一覧

RedisClusterにslaveを追加したとき、masterとslaveでキーの数が違う

以前、Redis Clusterにslaveを追加したときmasterとslaveでキーの数が違う現象に合いました。 masterの方がキーが多くslaveの方がキーが少ない。 その時はどうしてそんなことになるのか分からなかったのですが、調査して分かりました。 結論は、 slaveを追加…

MySQLで外部キー作成時には外部キー先にindexを定義してかつデータ型と長さを合わせないとエラーになる

MySQLで外部キー作成時以下のエラーがでた。 Cannot add foreign key constraint もちろん外部キー先にはindexを張っている。 で、いろいろググッて迷走した結果、以下のページを見つけた。 http://sigisi.hatenablog.com/entry/20111129 参照カラムと被参照…

switch_pointを使った際に複数モデルの更新にトランザクションをかける

switch_pointを使った際に複数モデルの更新にトランザクションをかけるのに少しハマった。 最初以下のように書いた。 ActiveRecord::Base.transaction do ModelA.with_writable do save! modelB.save! end end ただこれだとrollbackされない。 以下でもダメ…

テストのときだけswitch_pointを無効にしたい

Railsのgemで複数DBを扱うためのswitch_pointというものがあります。 https://github.com/eagletmt/switch_point 簡単にslaveとmasterへのアクセスを切り替えられて便利なのですが、RSpec実行時にはswitch_pointを無効にしたくなります。 FactoryGirlを使っ…

Railsのgretelでproductionだとリンクが2重エスケープされる

Railsにはgretelというパンくずをスマートに管理するためのgemがあります。 https://github.com/lassebunk/gretel このgemを使っていたんですが、テンプレートエンジンにSlimを使用してproductionモードで動かすとリンクが2重エスケープされる現象に遭遇しま…