2015-11-02 38 views
0

我一直在試圖將數據從Trac 0.11遷移到Redmine 3.1.1,它們都在同一臺機器上,Windows Server 2012.我用Bitnami安裝了redmine 3.1.1,並遵循這個遷移指南:http://www.redmine.org/projects/redmine/wiki/RedmineMigrate,sqlite3-ruby除外,因爲當我安裝sqlite3-ruby gem時,它說它重命名爲sqlite3,所以用它代替。然後我按照以下命令安裝了sqlite3 gem。從Trac遷移到Redmine,並給出錯誤說'寶石sqlite3未加載'

gem install --local C:\Users\Administrator\Downloads\sqlite3-1.3.11.gem -- --with-sqlite3-include=D:\Bitnami\redmine-3.1.1-1\sqlite --with-sqlite3-lib=D:\Bitnami\redmine-3.1.1-1\sqlite --with-sqlite3-dir=D:\Bitnami\redmine-3.1.1-1\sqlite 

該服務器有一個防火牆,所以我下載sqlite3的寶石,並從本地文件夾中安裝它。

寶石列表顯示了以下

*** LOCAL GEMS *** 

bigdecimal (1.2.0) 
bundler (1.9.6) 
io-console (0.4.2) 
json (1.7.7) 
minitest (4.3.2) 
psych (2.0.0) 
rake (0.9.6) 
rdoc (4.0.0) 
sqlite3 (1.3.11) 
sqlite3-ruby (1.3.3) 
test-unit (2.0.0.0) 

執行rake命令之前,我不得不修復的migrate_from_trac.rake爲這篇文章建議:http://www.redmine.org/issues/19173順便說一句,該文件位於d:\ Bitnami \ redmine-3.1.1-1 \ apps \ redmine \ htdocs \ lib \ tasks \ migrate_from_trac.rake

然後我在D:\ Bitnami \ redmine-3.1.1-1 \ apps \ redmine \ hdocs,

bundle exec rake redmine:migrate_from_trac RAILS_ENV="production" --trace 

DL is deprecated, please use Fiddle 
** Invoke redmine:migrate_from_trac (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Execute redmine:migrate_from_trac 

WARNING: a new project will be added to Redmine during this process. 
Are you sure you want to continue ? [y/N] y 

Trac directory []: D:\TracLight\projects\trac\all 
Trac database adapter (sqlite3, mysql2, postgresql) [sqlite3]: 
Trac database encoding [UTF-8]: 
Target project identifier []: all 

This project already exists in your Redmine database. 
Are you sure you want to append data to this project ? [Y/n] y 

rake aborted! 
Gem::LoadError: Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:177:in `rescue in spec' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:174:in `spec' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.4/lib/active_record/connection_handling.rb:50:in `establish_connection' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/lib/tasks/migrate_from_trac.rake:712:in `block in establish_connection' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/lib/tasks/migrate_from_trac.rake:709:in `each' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/lib/tasks/migrate_from_trac.rake:709:in `establish_connection' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/lib/tasks/migrate_from_trac.rake:374:in `migrate' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/lib/tasks/migrate_from_trac.rake:770:in `block (2 levels) in <top (required)>' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `call' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain' 
D:/Bitnami/redmine-3.1.1-1/ruby/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/bin/rake:33:in `<top (required)>' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/bin/rake:23:in `load' 
D:/Bitnami/redmine-3.1.1-1/apps/redmine/htdocs/vendor/bundle/ruby/2.0.0/bin/rake:23:in `<main>' 
Tasks: TOP => redmine:migrate_from_trac 

所以,我添加了以下行到Gemfile中它位於d:\ Bitnami \管理平臺-3.1.1-1 \ APPS \管理平臺\ htdocs目錄

gem 'sqlite3', '1.3.11' 

但它並沒有改變什麼,在上面的命令仍然給我同樣的錯誤。我也試了幾個包命令,下面

bundle install 

You are trying to install in deployment mode after changing 
your Gemfile. Run `bundle install` elsewhere and add the 
updated Gemfile.lock to version control. 

If this is a development machine, remove the Gemfile freeze 
by running `bundle install --no-deployment`. 

You have added to the Gemfile: 
* sqlite3 (= 1.3.11) 

但是,我無法找到有關Gemfile.lock的sqlite3的任何線路。我認爲這可能是Gemfile.lock文件的問題,因此我刪除了Gemfile.lock並執行了bundle install命令,如下所示重新創建它,但它沒有生成Gemfile.lock。

build install 

You are trying to install in deployment mode after changing 
your Gemfile. Run `bundle install` elsewhere and add the 
updated Gemfile.lock to version control. 

If this is a development machine, remove the Gemfile freeze 
by running `bundle install --no-deployment`. 

You have added to the Gemfile: 
* source: rubygems repository https://rubygems.org/ 
* thin (= 1.6.1) 
* eventmachine (= 1.0.3) 
* rmagick (= 2.13.4) 
* mysql2 (= 0.3.18) 
* sqlite3 (= 1.3.11) 
* rails (= 4.2.4) 
* jquery-rails (~> 3.1.3) 
* coderay (~> 1.1.0) 
* builder (>= 3.0.4) 
* request_store (= 1.0.5) 
* mime-types 
* protected_attributes 
* actionpack-action_caching 
* actionpack-xml_parser 
* loofah (~> 2.0) 
* tzinfo-data 
* rbpdf (~> 1.18.6) 
* net-ldap (~> 0.3.1) 
* ruby-openid (~> 2.3.0) 
* rack-openid 
* redcarpet (~> 3.3.2) 
* activerecord-jdbc-adapter (~> 1.3.2) 
* activerecord-jdbcmysql-adapter 
* rdoc (>= 2.4.2) 
* yard 
* minitest 
* rails-dom-testing 
* mocha 
* simplecov (~> 0.9.1) 
* capybara 
* selenium-webdriver 

編輯

我忘了提,所有的事情都通過點擊d use_redmine.bat上Bitnami管理平臺堆棧環境中進行:\ Bitnami \管理平臺-3.1.1-1。

回答

1

我必須安裝sqlite3 gem到D:\ Bitnami \ redmine-3.1.1-1 \ apps \ redmine \ htdocs \ vendor \ bundle \ ruby​​ \ 2.0.0 \ gems for bundler。爲此,我運行了以下命令。

bundle exec gem install --local C:\Users\Administrator\Downloads\sqlite3-1.3.11.gem -- --with-sqlite3-include=D:\Bitnami\redmine-3.1.1-1\sqlite --with-sqlite3-lib=D:\Bitnami\redmine-3.1.1-1\sqlite --with-sqlite3-dir=D:\Bitnami\redmine-3.1.1-1\sqlite 

然後,我可以看到的是,sqlite3的文件夾在d:\ Bitnami \管理平臺-3.1.1-1 \ APPS \管理平臺\ htdocs中\供應商\包\紅寶石\ 2.0.0 \寶石\ sqlite3- 1.3.11

之後,我需要在Gemfile.lock的GEM部分的末尾添加「sqlite3(1.3.11)」這一行:D:\ Bitnami \ redmine-3.1.1-1 \ apps \管理平臺\ htdocs目錄。然後「bundle show」開始在列表中顯示「sqlite3(1.3.11)」。

儘管我可以成功運行migrate_from_trac任務,但在遷移wiki期間會發生其他錯誤。但這是另一回事。