# Db:migrate fails (1.5.4 to 1.6.4)

**URL:** https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912
**Category:** Support
**Tags:** unsupported-install
**Created:** [2016 年9 月 30 日 12:58 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912 "2016-09-30T12:58:16Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### 作者： ![NuLL3rr0r](https://avatars.discourse-cdn.com/v4/letter/n/48db29/32.png) [@NuLL3rr0r](https://meta.discourse.org/u/NuLL3rr0r)
#### 发布日期： [2016 年9 月 30 日 12:58 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/1 "2016-09-30T12:58:16Z")

</div>

I’m running a multi-site instance and running either:

```
$ sudo -u discourse -g discourse -H RAILS_ENV='production' bundle exec rake multisite:migrate

```

or

```
$ sudo -u discourse -g discourse -H RAILS_ENV='production' bundle exec rake db:migrate

```

Fails. here is the output:

````
rake aborted!
SyntaxError: /usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:13: syntax error, unexpected <<
            <<~TEXT
              ^
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:14: syntax error, unexpected keyword_in, expecting keyword_end
            Report is only available in latest image, please run:
                                       ^
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:14: syntax error, unexpected tLABEL, expecting keyword_do or '{' or '('
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:19: syntax error, unexpected tXSTRING_BEG, expecting keyword_end
            ```
              ^
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:268:in `load'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:268:in `block in load'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:268:in `load'
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/plugin.rb:7:in `block in activate!'
/usr/home/discourse/discourse/lib/plugin/instance.rb:197:in `call'
/usr/home/discourse/discourse/lib/plugin/instance.rb:197:in `block in notify_after_initialize'
/usr/home/discourse/discourse/lib/plugin/instance.rb:195:in `each'
/usr/home/discourse/discourse/lib/plugin/instance.rb:195:in `notify_after_initialize'
/usr/home/discourse/discourse/config/application.rb:173:in `block (2 levels) in <class:Application>'
/usr/home/discourse/discourse/config/application.rb:173:in `each'
/usr/home/discourse/discourse/config/application.rb:173:in `block in <class:Application>'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:30:in `instance_exec'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:30:in `run'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:54:in `run_initializers'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application.rb:352:in `initialize!'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/railtie.rb:194:in `public_send'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/railtie.rb:194:in `method_missing'
/usr/home/discourse/discourse/config/environment.rb:5:in `<top (required)>'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:274:in `require'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:274:in `block in require'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:274:in `require'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application.rb:328:in `require_environment!'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
Tasks: TOP => multisite:migrate => environment
(See full trace by running task with --trace)

````

---

<div class="post-metadata">

### 作者： ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### 发布日期： [2016 年9 月 30 日 13:10 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/2 "2016-09-30T13:10:33Z")

</div>

You need to do a rebuild first to upgrade to Ruby 2.3

---

<div class="post-metadata">

### 作者： ![NuLL3rr0r](https://avatars.discourse-cdn.com/v4/letter/n/48db29/32.png) [@NuLL3rr0r](https://meta.discourse.org/u/NuLL3rr0r)
#### 发布日期： [2016 年9 月 30 日 13:14 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/3 "2016-09-30T13:14:18Z")

</div>

Thank you so much for the quick reply.

Actually, I’m not using the Docker image. I did a manual install on FreeBSD (Docker is experimental on FreeBSD).

Is the new version only works with ruby 2.3 ?

---

<div class="post-metadata">

### 作者： ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### 发布日期： [2016 年9 月 30 日 13:14 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/4 "2016-09-30T13:14:49Z")

</div>

Yup The minimum Ruby version has been bumped to 2.3

---

<div class="post-metadata">

### 作者： ![NuLL3rr0r](https://avatars.discourse-cdn.com/v4/letter/n/48db29/32.png) [@NuLL3rr0r](https://meta.discourse.org/u/NuLL3rr0r)
#### 发布日期： [2016 年9 月 30 日 13:15 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/5 "2016-09-30T13:15:52Z")

</div>

Thank you so much. I’ll try it with 2.3.

---

<div class="post-metadata">

### 作者： ![NuLL3rr0r](https://avatars.discourse-cdn.com/v4/letter/n/48db29/32.png) [@NuLL3rr0r](https://meta.discourse.org/u/NuLL3rr0r)
#### 发布日期： [2016 年10 月 1 日 04:20 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/6 "2016-10-01T04:20:46Z")

</div>

Well, I installed chruby and Ruby 2.3.1:

```
$ ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-freebsd11.0]

```

Unfortunately, I still get the same error when I do:

```
$ RAILS_ENV='production' bundle exec rake multisite:migrate

```

or even:

```
$ RAILS_ENV=production bundle exec rake db:migrate

```

I’m maintaining this guid: [https://www.babaei.net/blog/discourse-as-a-blog-comment-service-on-freebsd-without-docker/](https://www.babaei.net/blog/2016/04/29/discourse-as-a-blog-comment-service-on-freebsd-without-docker/) and everything is done according to that, if that helps.

---

<div class="post-metadata">

### 作者： ![NuLL3rr0r](https://avatars.discourse-cdn.com/v4/letter/n/48db29/32.png) [@NuLL3rr0r](https://meta.discourse.org/u/NuLL3rr0r)
#### 发布日期： [2016 年10 月 1 日 04:22 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/7 "2016-10-01T04:22:34Z")

</div>

Here is the output with Ruby 2.3.1:

````
rake aborted!
SyntaxError: /usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:13: syntax error, unexpected <<
            <<~TEXT
              ^
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:14: syntax error, unexpected keyword_in, expecting keyword_end
            Report is only available in latest image, please run:
                                       ^
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:14: syntax error, unexpected tLABEL, expecting keyword_do or '{' or '('
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/app/jobs/scheduled/daily_performance_report.rb:19: syntax error, unexpected tXSTRING_BEG, expecting keyword_end
            ```
              ^
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:268:in `load'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:268:in `block in load'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:268:in `load'
/usr/home/discourse/discourse/plugins/discourse-nginx-performance-report/plugin.rb:7:in `block in activate!'
/usr/home/discourse/discourse/lib/plugin/instance.rb:197:in `call'
/usr/home/discourse/discourse/lib/plugin/instance.rb:197:in `block in notify_after_initialize'
/usr/home/discourse/discourse/lib/plugin/instance.rb:195:in `each'
/usr/home/discourse/discourse/lib/plugin/instance.rb:195:in `notify_after_initialize'
/usr/home/discourse/discourse/config/application.rb:173:in `block (2 levels) in <class:Application>'
/usr/home/discourse/discourse/config/application.rb:173:in `each'
/usr/home/discourse/discourse/config/application.rb:173:in `block in <class:Application>'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:36:in `call'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application/finisher.rb:62:in `block in <module:Finisher>'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:30:in `instance_exec'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:30:in `run'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/initializable.rb:54:in `run_initializers'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application.rb:352:in `initialize!'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/railtie.rb:194:in `public_send'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/railtie.rb:194:in `method_missing'
/usr/home/discourse/discourse/config/environment.rb:5:in `<top (required)>'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:274:in `require'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:274:in `block in require'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/activesupport-4.2.7/lib/active_support/dependencies.rb:274:in `require'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application.rb:328:in `require_environment!'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/railties-4.2.7/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/usr/home/discourse/discourse/vendor/bundle/ruby/2.2/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
Tasks: TOP => multisite:migrate => environment
(See full trace by running task with --trace)
(

````

---

<div class="post-metadata">

### 作者： ![NuLL3rr0r](https://avatars.discourse-cdn.com/v4/letter/n/48db29/32.png) [@NuLL3rr0r](https://meta.discourse.org/u/NuLL3rr0r)
#### 发布日期： [2016 年10 月 1 日 04:34 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/8 "2016-10-01T04:34:59Z")

</div>

I believe I found the culprit:

```
$ bundle env
Environment

    Bundler 1.13.2
    Rubygems 2.6.4
    Ruby 2.2.5p319 (2016-04-26 revision 54774) [amd64-freebsd11]
    GEM_HOME /home/discourse/.gem/ruby/2.3.1
    GEM_PATH /home/discourse/.gem/ruby/2.3.1:/home/discourse/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0
    Git 2.9.2

$ which ruby
/home/discourse/.rubies/ruby-2.3.1/bin/ruby

$ which bundle
/home/discourse/.gem/ruby/2.3.1/bin/bundle

$ which gem
/home/discourse/.rubies/ruby-2.3.1/bin/gem

$ echo $PATH
/home/discourse/.gem/ruby/2.3.1/bin:/home/discourse/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/bin:/home/discourse/.rubies/ruby-2.3.1/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin

```

The culprit is bundle, it picks the wrong Ruby (2.2.5) which is what shipped with FreeBSD not what I installed using chruby.

Any ideas?

---

<div class="post-metadata">

### 作者： ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### 发布日期： [2016 年10 月 1 日 07:21 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/9 "2016-10-01T07:21:50Z")

</div>

I would recommend using [rbenv](https://github.com/rbenv/rbenv) to manage your Ruby versions.

---

<div class="post-metadata">

### 作者： ![NuLL3rr0r](https://avatars.discourse-cdn.com/v4/letter/n/48db29/32.png) [@NuLL3rr0r](https://meta.discourse.org/u/NuLL3rr0r)
#### 发布日期： [2016 年10 月 1 日 10:04 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/10 "2016-10-01T10:04:10Z")

</div>

Thanks for the suggestion. I got it to work. It required a reboot.

---

<div class="post-metadata">

### 作者： ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### 发布日期： [2016 年10 月 1 日 11:42 UTC](https://meta.discourse.org/t/db-migrate-fails-1-5-4-to-1-6-4/50912/11 "2016-10-01T11:42:58Z")

</div>


