«前の日記(2007-10-19(金)) 最新 次の日記(2007-10-30(火))» 編集
RSS feed

からっぽの日記


2007-10-29(月) 晴れ [長年日記]

Rails で SQLite3 の DEFAULT NULL

最近 Rails をお勉強中なんですが、作成中のものを別環境へ持っていったとき困ったのでメモ。普段使ってる環境は、Debian lenny では SQLite3 の tests テーブルの "title" が DEFAULT NULL なんだけど

% ruby script/console
>> Test.new
>>  #<Test:0xb701b050 @new_record=true, @attributes={"title"=>nil, "create_date"=>nil}>

で、Debian etch の環境へ持ってくるとこうなった。

% ruby script/console
>> Test.new
>>  #<Test:0xb62726ec @new_record=true, @attributes={"title"=>"NULL", "create_date"=>nil}>

"title" に文字列で「NULL」って入ってるよorz Rails は rugygems から両方とも入れてあるから Debian のパッケージを使ってる libsqlite3-ruby に何かあるのか。Debian lenny のバージョンは「1.2.1-1」、etch は「1.1.0-2」。とりあえず「1.1.0-2」を削除して、rubygems からインストールしてみる。

# aptitude install libsqlite3-dev
# gem install sqlite3-ruby
Select which gem to install for your platform (i486-linux)
 1. sqlite3-ruby 1.2.1 (mswin32)
 2. sqlite3-ruby 1.2.1 (ruby)
 3. sqlite3-ruby 1.2.0 (mswin32)
 4. sqlite3-ruby 1.2.0 (ruby)
 5. Skip this gem
 6. Cancel installation
> 2

rubygems から 「1.2.1」をインストールしたら、同じ挙動になった。1.1 から仕様変更?とかなのかなぁ。sqlite3-ruby は、rubygems で管理したほうがよさそうですね。


«前の日記(2007-10-19(金)) 最新 次の日記(2007-10-30(火))» 編集
RSS feed