ActiveRecord :: StatementInvalid - Mysql2 :: Error:表'database.table_that_I_want_to_create'不存在

时间:2014-05-21 19:08:59

标签: mysql ruby-on-rails ruby activerecord database-migration

我正在尝试执行:

rake db:migrate RAILS_ENV=production

(在此迁移中有5个迁移文件,包括创建表database.table_that_I_want_to_create

我遇到以下错误:

Error message:
Mysql2::Error: Table 'database.table_that_I_want_to_create' doesn't exist: SHOW FULL FIELDS FROM `table_that_I_want_to_create` (ActiveRecord::StatementInvalid)
Exception class:
ActiveRecord::StatementInvalid

第一行堆栈是:

0   /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract_mysql_adapter.rb 245 in `query'

abstract_mysql_adapter.rb   245
=> log(sql, name) { @connection.query(sql) }

有没有人有想法?

非常感谢

1 个答案:

答案 0 :(得分:0)

我终于明白了问题所在: - 我在初始化文件中有一个全局变量的实例化:             $ MY_GLOBAL_VARIABLE = TableThatIWantToCreate.find(1)

据我所知,当我们调用“rake db:migrate'”时,rails会在执行迁移之前启动应用程序的上下文(包括初始化程序文件)。 在我的情况下,实例化仍然是不可能的,因为用于此实例化的表尚不存在。

感谢那些了解我的问题的人。 : - )