2011年6月10日金曜日

rake db:seed を複数回実行するときのidについて



環境:rails 2.3.8


rake db:seedを使って以下のレコードを作っていたのですが



User.delete_all

record = Facility.create( :name => "テスト管理者1", :login_id => "k1", :password => "k1",
record.id = 1
record.save!


2回実行するとid=1がうまく機能しないようでエラーになります。


調べた結果



User.delete_all
User.connection.execute("delete from sqlite_sequence where name='users'")

record = Facility.create( :name => "テスト管理者1", :login_id => "k1", :password => "k1",
record.id = 1
record.save!


こんな感じで、sqlite_sequenceテーブルにあるカウンターを削除する事で回避できました。





0 件のコメント:

コメントを投稿