db:migrate ... LoadError:无法加载这样的文件
问题描述:
我试图在mysql上迁移redmine 1.1.3安装,在另一台服务器上redmine 3.3.0在Ubuntu 16.04上。db:migrate ... LoadError:无法加载这样的文件
redmine 3.3.0使用apt安装。我能够登录,安装看起来没问题。
我迁移使用mysqldump的数据库,然后试图运行它,但我得到一个错误:
sudo bundle exec rake db:migrate RAILS_ENV=production --trace
bundler: failed to load command: rake (/usr/local/bin/rake)
LoadError: cannot load such file -- /usr/share/rubygems-integration/all/specifications/bin/rake
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<top (required)>'
有人能帮助这一点吗?
答
回答我的问题: 代替原来的命令,下面的命令作品:
sudo bundle exec /usr/bin/rake db:migrate RAILS_ENV=production
这导致了以下错误:
rake aborted!
Gem::LoadError: Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
要解决此问题:
sudo apt-get install mysql-client libmysqlclient-dev ruby-dev libgmp-dev build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev autoconf libc6-dev ncurses-dev automake libtool
sudo gem install mysql2
我还更新了/ usr/share/redmine/GemFile,并在第Ë初始宝石声明:
gem "mysql2"
此外,当您安装管理平台它给你配置数据库的选项。选择“否”。如果选择'是',那么您需要删除redmine在安装过程中创建的数据库并手动创建数据库。下面的几行假设你创建你的旧数据库的备份和转储文件是/家庭/ Ubuntu的/管理平台
mysql -u root -p
mysql> create database redmine2 DEFAULT CHARACTER SET utf8;
grant all on redmine2.* TO 'redmine'@'%' IDENTIFIED BY 'password';
mysql> connect redmine2
mysql> source /home/ubuntu/redmine
这之后,您将需要修改/etc/redmine/default/database.yml更新数据库/用户名/密码的名称
毕竟,我在尝试访问redmine URL时开始出现乘客错误。我必须撤消/ usr/share/redmine/GemFile中的更改。还有一些文件权限问题。希望这可以帮助某人。