我试图运行rake test:profile
,我收到了这个错误:
... Table 'mcif2.accounts' doesn't exist: DELETE FROM `accounts`
我知道accounts
不存在。它被称为account
。
我知道Rails默认使用多个表名,但这是config/environment.rb
的样子:
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
McifRails::Application.initialize!
ActiveRecord::Base.pluralize_table_names = false
这就是db/schema.rb
的样子:
ActiveRecord::Schema.define(:version => 0) do
create_table "account", :force => true do |t|
t.integer "customer_id", :limit => 8, :null => false
t.string "account_number", :null => false
t.integer "account_type_id", :limit => 8
t.date "open_date", :null => false
所以我不明白为什么Rails有时候还想把它称为accounts
。有什么想法吗?
如果它有助于提供任何线索,here是grep -ir 'accounts' *
的结果。
答案 0 :(得分:1)
我的猜测是你已经在一个性能测试中命名了你的夹具accounts.yml
或使用了指令fixtures :accounts
。 Rails使用fixture名称填充相关表,而不了解模型。
答案 1 :(得分:0)
尝试在模型中设置
set_table_name "account"