世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2006年05月31日

Active Recordが不適当なキャッシュを返す(?)問題

ActiveRecordが誤ってキャッシュか何かを返している感じ。これで数時間嵌まった。

新規レコードをsave後、find_by_id(nil)すると、初回の呼び出しに限りsaveしたオブジェクトがマッチする。これは、仕様、じゃないよね。DB-Transactionとかも関係なさそうだし。誰かが報告済みかどうかは調べてないのであとで調べる。

$ pwd
/home/yugui/dev/rails/simple-crud

$ script/about
About your application's environment
Ruby version                 1.8.4 (i386-linux)
RubyGems version             0.8.11
Rails version                1.1.2
Active Record version        1.14.2
Action Pack version          1.12.1
Action Web Service version   1.1.2
Action Mailer version        1.2.1
Active Support version       1.3.1
Application root             /home/yugui/dev/rails/simple-crud
Environment                  development
Database adapter             mysql
Database schema version      1

$cat db/migrate/001-user-migration.rb
class UserMigration < ActiveRecord::Migration
  def self.up
    create_table(:users) {|table|
      table.column :name, :string, :length => 32
    }
  end

  def self.down
    drop_table :users
  end
end

$ script/console
Loading development environment.
>> User.create :name => 'example'
=> #<User:0x40bef1b4 @attributes={"name"=>"example", "id"=>2}, @new_record=false, \
 @errors=#<ActiveRecord::Errors:0x40b730c8 @base=#<User:0x40bef1b4 ...>, @errors={}>>
>> User.find_by_id(nil)
=> #<User:0x40b69c80 @attributes={"name"=>"example", "id"=>"2"}>
>> User.find_by_id(nil)
=> nil
>> User.find_by_id(nil)
=> nil
>>

トラックバック

http://yugui.jp/articles/444/ping
MySQLが不適当なレコードを返す問題。 (ratio - rational - irrational)
Active Recordから変なレコードが返ってくるのは、Active Re...

コメント

blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system