sqlite3+2.0.0でrake avoteになる

243 views
Skip to first unread message

りょう

unread,
Jun 6, 2012, 10:06:46 PM6/6/12
to Redmine Users (japanese)
はじめまして松本ともうします。

現在CentOS5のruby 1.9.3p194上+sqlite3で、redmine2.0.0を動作させています。
(元々違うサーバーで動かしていたのをバージョンアップと移行したもので問題なく動作)

その環境に別途、別プロジェクト用にredmineを立てたいという要望をもらったので、
別ディレクトリを切って、redmine2.0.0をインストールしようとしているのですが、

rake db:migrate RAILS_ENV=production

をしようとすると途中までは進むものの

== AddTrackerIsInRoadmap: migrating
==========================================
-- add_column(:trackers, :is_in_roadmap, :boolean,
{:default=>true, :null=>false})
-> 0.0005s
== AddTrackerIsInRoadmap: migrated (0.0008s)
=================================

== 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
(?, ?, ?, ?, ?, ?, ?)

という形でrakeがエラーし、dbの残骸が残って終わる状況です。
エラーメッセージ的にdatabaseが無いといった表示のようですが、こちらを回避する方法をどなたかご存知ないでしょうか?

環境的に全く動かないのならば、根本的な問題とわかるのですが、上記のとおり、別環境から移植し、バージョンアップしたものは
問題なくうごいており、その際のrakeも上手く行っていること、rakeが全く通らないわけではなく、途中で止まってしまうという状況で、よくわから
ない状態です。

なお、redmine2.0.2も試してみましたが同じ状況でした。
他に必要な情報があればご指摘いただければ幸いです。

よろしくお願いたします

nobu_toyofuku

unread,
Jun 11, 2012, 5:12:13 AM6/11/12
to redmine-...@googlegroups.com
豊福です。

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

くらいです。
---

nobu_toyofuku

unread,
Nov 7, 2012, 3:40:59 AM11/7/12
to Redmine Users (japanese)
  豊福です。

CentOS5.8 + ruby 1.8.7 p334 + sqlite3 + redmine2.1.2 の
rake db:migrate で同じく


SQLite3::SQLException: SQL logic error or missing database: INSERT INTO "permissions" ("action", "controller", "description", "is_public", "mail_enabled", "mail_option", "sort") VALUES (?, ?, ?, ?, ?, ?, ?)

エラーが起きました。

じっくり調べてみます。
---

Reply all
Reply to author
Forward
0 new messages