1

使用rails 3.1数据库mysql的服务器ubuntu 64b App

现在 rails db:create 工作正常

Rails db:migrate 手动完成或通过 cap deploy:migration 给我以下错误:

耙中止!Mysql2::Error:表'mywebsite_production.galleries'不存在:SHOW FIELDS FROM galleries /srv/d_mywebsite/www/mywebsite/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/ connection_adapter/mysql2_adapter.rb:283:在“查询”中

这个部署有什么问题?

4

3 回答 3

2

我只是注释掉我的设备和rails_admin路由config/routes.rb,一切都解决了。检查您的任何路线是否需要存在mywebsite_production.galleries.

于 2015-04-18T22:17:54.520 回答
0

两个可能的问题:

  1. 在手动创建数据库时,您可能没有正确命名它。

  2. 或者,因为您说它db:create失败了,另一个问题可能是 Rails 或您的数据库没有正确设置,因此无法相互通信。

我建议你先调查这个问题,这很可能是导致失败db:create的同一件事。db:migrate

通过自己创建数据库,您所做的只是将问题移到堆栈中,一旦您设法手动修复迁移问题,您可能会遇到更多问题。

于 2012-06-21T10:32:31.437 回答
0

你们都可以加载所有表名并检查您手动创建的表是否存在于列表中?

您可以使用列出表名ActiveRecord::Base.connection.tables

于 2012-06-21T10:39:48.110 回答