Feb 24, 2015 `add_foreign_key` gotchas in Rails 4.2 Rails 4.2 finally added native support for database-level foreign keys, which is great. You can write the following code in a migration (assuming the presence of a users table):

Ruby on Rails 8.0.2 Class ActiveRecord::ConnectionAdapters::TableDefinition < Object activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb Active Record Connection Adapters Table Definition Represents the schema of an SQL table in an abstract way. This class provides methods for manipulating the schema representation. Inside migration files, the t object in create_table
https://github.com/cookpad/arproxy http://rubygems.org/gems/arproxy これは何? Arproxyを使うと、ActiveRecordが発行したSQLがDB Adapterによって実行される直前をフックすることができます。これによって、カスタマイズしたクエリログを出力したり、どこからクエリが発行されたのかをトレースしたりすることができるようになります。 Arproxyでは、DB Adapterのフック処理を以下のように定義します。これはクエリが実行されるたびにバックトレースを出力する例です。*1 class QueryTracer < Arproxy::Base def execute(sql, name=nil) Rails.logger.debug sql Rails.logger.debug caller(1).join(
行ロックとは 行ロックとは、テーブルの同一レコードに対して、複数同時に更新できないように制限する仕組みのことです。 Ruby on RailsのActiveRecordには2種類のロック方法があります。 楽観的ロック(Rails依存) 悲観的ロック(DBMS依存) それぞれの違いや使い方について解説していきたいと思います。 楽観的ロック 楽観的ロックとは、DBMSの機能に頼らずロックバージョンをレコードに保存しておくことで、取得時と変更時にロックバージョンに変更がないか確認し、変更があった場合は例外を発生させる方法です。 ロックするタイミング データ更新時 データを複数同時に取得することができるが、途中で更新されていた場合は、更新できない 仕組み テーブルにlock_versionフィールドを追加する lock_versionが書き換わっていたらActiveRecord::StaleObj
2010年04月25日00:16 NoSQL MySQL 10分で理解するMongoDBのパフォーマンス MongoDBってスキーマレスなDBで、カラムが決められないような場合に使うと効果的なんだと思うんですが、「そういうデータはハッシュにして、JSON 形式で MySQL に保存すれば良いのでは?」という意見をいただいたので、その場合とのバフォーマンス比較をしてみました。 ※最初は MySQL として innodb でしか評価していなかったため、myisam の結果についても追記しました。(2010/04/25追記) ベンチマーク環境の準備 試した環境としては、MySQL 5.1.45, MongoDB 1.2.4 です。MySQL側はこんな感じ。 mysql> desc blogs; +------------+--------------+------+-----+---------
まずは、インストールの解説です。 $ gem install mongoid --pre Rails3 対応の最新版は執筆時点で 2.0.0.beta.16 で、ベータ版なので、--pre オプションを使ってインストールします。2.0.0 リリースの際には、--pre を取って下さい。 そして、mongo ドライバー自体のパフォーマンスを上げるために、bson_ext をインストールしましょう。 $ gem install bson_ext bson_ext には、boost が必要です。MongoDB のインストール時にインストールされていると思いますので、問題ないと思います。もし、インストールできなくても動きますので、気にしないで下さい。 Rails 3 でのインストール Rails3 は Bundler を使用しており、必要な Gem を、Gemfile というファイルに書くことにな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く