豊福です。
2012年6月7日 11:06 りょう <
div...@gmail.com>:
> rake db:migrate RAILS_ENV=production
> をしようとすると途中までは進むものの
> == AddRoadmapPermission: migrating
> rake aborted!
> An error has occurred, this and all later migrations canceled:
> SQLite3::SQLException: SQL logic error or missing database: INSERT
> INTO "permissions" ("action", "controller", "description",
> "is_public", "mail_enabled", "mail_option", "sort") VALUES
> (?, ?, ?, ?, ?, ?, ?)
うまくいっているのと同じマシンで単にディレクトリが違うだけなんですよね。
全然見当がついていないのですが確認して/試してみることで思いつくのは
・うまくいっていたときから ruby のバージョンおよびその他の環境に変更がないか。
・bundle exec rake db:migrate RAILS_ENV=production でなくていいのか。
・何度 rake しても毎回 AddRoadmapPermission の場所でエラーになるのか。
・別のディレクトリでやっても変化ないか。
・db/migrate/02[45]* のファイル名の024と025を入れ換えて rake してみるとエラーが起きる箇所が変わるか。
(024_add_roadmap_permission.rb が AddRoadmapPermission のところなので)
・次のパッチで直前のpermissionテーブル状態を書かせてみて何かヒントになることが出てこないか。
--- db/migrate/
024_add_roadmap_permission.rb.org
+++ db/migrate/024_add_roadmap_permission.rb
@@ -4,4 +4,5 @@
def self.up
+pp Permission.find(:all)
Permission.create :controller => "projects", :action =>
"roadmap", :description => "label_roadmap", :sort => 107, :is_public
=> true, :mail_option => 0, :mail_enabled => 0
end
くらいです。
---