MySQLとRailsに関するmad-berryのブックマーク (3)

  • ActiveRecord の Migration で bigint を - はちゅにっき

    つかい。。。たい? そもそも bigint が当に必要なのかを先に考えるべきじゃ。。。 とか思いつつも 「移行元の DB が bigint なんだよ」 というわけで、bigint を使うことに。 あれ?ところで (Rails とかで)、ActiveRecord 使って migration するとき、bigint ってどうやって指定するんだろう? と疑問に思ったので、ソースコードを眺めてみたらあっさりとそれっぽい場所を発見。 active_record/connection_adapters/postgresql_adapter.rb 900行目付近 case limit when 1..2; 'smallint' when 3..4, nil; 'integer' when 5..8; 'bigint' end とゆーことで、migration ファイルの limit の値によって sm

    ActiveRecord の Migration で bigint を - はちゅにっき
    mad-berry
    mad-berry 2010/02/16
    すぐ忘れる。bigint
  • - ノヴァちゃん日記 - Railsで直書きのSQL文字列をサニタイズする方法

    Railsで直書きのSQL文字列をサニタイズする方法 どもども!ノヴァちゃんです! Railsでは基的にActiveRecordを利用してSQLを扱うと思いますが、 通常:conditionsパラメータに値を渡すことで、内部で勝手にサニタイズ処理をしてくれます。 Profile.find(:all, :conditions => {:name => "ノヴァ'ちゃん"}) ; # => "ノヴァ''ちゃん" しかし、複雑なSQLや、OR句を用いてSQL文を構築したい場合、 どうしても:conditionsに文字列そのものを渡したくなることがあります。 たとえばこんなSQL文を投げたいとき。 SELECT * FROM profiles WHERE is_live = 1 AND (country = 'Japan' OR contry = 'America') ; まぁ正直こ

    mad-berry
    mad-berry 2009/10/27
    プレースフォルダを使わずサニタイズ
  • Ruby on Rails + MySQL で全文検索 - ドワンゴ 研究開発ブログ

    このエントリでは Ruby on RailsMySQL を使って日語の全文検索を行う方法を記述する。Ruby on Rails のバージョンは 2.0.2、MySQL のバージョンは 5.0.67、Tritonn のバージョンは 1.0.12、Hyper Estraier のバージョンは 1.4.10 を使用した。サンプルの文章データとして、あらゆる日人にとって極めて身近な著作権切れ文章である『ドグラ・マグラ』と『黒死館殺人事件』を利用した。処理のために整形したデータはエントリに添付しておく。またデータベースへアクセスするコードではマイグレーションを除きできるだけベンチマークを取るようにし、その結果はエントリの最後に記載する。 ページネーション Rails でページネーションを実現する will_paginate という plugin は ActiveRecord に標準でつ

  • 1