Redmine0.8.2からRedmine0.9.0へのアップデート

感想おまちしてます!

会社でもやったけどすんなりできた。
0.8.2を動かしていた時のgemの様子は以下。

c:\fujihara\Ruby\redmine-0.8.2>gem list
*** LOCAL GEMS ***
actionmailer (2.2.2)
actionpack (2.2.2)
activerecord (2.2.2)
activeresource (2.2.2)
activesupport (2.2.2)
linecache (0.43)
rails (2.2.2)
rake (0.8.3)
ruby-debug-base (0.10.2)
ruby-debug-ide (0.3.1)

これだとちょっと古い。0.9.0のenvironment.rbにはRails2.3.5にせよと書いてあるので、それに従うことにした。
2010/01/29時点で、「gem update」をすれば2.3.5が入る。それ以外の場合は「-v 2.3.5」とかで。
しかし、MySQLのgemとaasmが入っていないと怒られた。

MissingSourceFile (no such file to load -- aasm):
MissingSourceFile (no such file to load -- mysql):

ないものはインストール。

c:\fujihara\Ruby\redmine-0.9.0>gem install mysql
c:\fujihara\Ruby\redmine-0.9.0>gem install aasm  # -> 昔はgem install rubyist-aasmだったみたい

一覧を見てみると・・・

c:\fujihara\Ruby\redmine-0.9.0>gem update
c:\fujihara\Ruby\redmine-0.9.0>gem list
*** LOCAL GEMS ***
aasm (2.1.4)
actionmailer (2.3.5, 2.2.2)
actionpack (2.3.5, 2.2.2)
activerecord (2.3.5, 2.2.2)
activeresource (2.3.5, 2.2.2)
activesupport (2.3.5, 2.2.2)
linecache (0.43)
mysql (2.8.1)
rack (1.0.1)
rails (2.3.5, 2.2.2)
rake (0.8.7, 0.8.3)
ruby-debug-base (0.10.2)
ruby-debug-ide (0.3.1)

config/database.ymlとか、config/email.ymlやfilesフォルダはコピーして使える。
プラグインはほとんど動かなかったので入れないでおく。そしてDBのmigrateなのだが、

c:\fujihara\Ruby\redmine-0.9.0>rake db:migrate RAILS_ENV="production"
(in c:/fujihara/Ruby/redmine-0.9.0)
rake aborted!
A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key => "_myapp_session", :secret => "some secret phrase" } in config/environment.rb

と怒られるので、config/environment.rbに以下を記述。secretはご自由に。

config.action_controller.session = { :key => "_redmine_session", :secret => "fujiharahasaikintsukaretekimasitagagannbarimasu" }

DBのmigrateすると

c:\fujihara\Ruby\redmine-0.9.0>rake db:migrate RAILS_ENV="production" --trace
(in c:/fujihara/Ruby/redmine-0.9.0)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
Mysql::Error: query: not connected: SELECT version FROM schema_migrations

と怒られる。mysqlのクライアントを古くすると解決するとのこと。http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dllをもってきて、migrateして、セッションなどを初期化。

rake db:migrate RAILS_ENV="production"
rake tmp:cache:clear
rake tmp:sessions:clear

意外に大変だけど、足りないものが結構あったってことかな。
今日はおしまい。明日は0.9でプラグイン動かすぞー。