所以,我有这样的迁移行:
add_column :users, :account_id, :integer
给出错误:
SQLite3::SQLException: no such table: symbols: ALTER TABLE "symbols" ADD "account_id" integer
但是当我做的时候
add_column "users", "account_id", "integer" #changed everything to strings
我得到了类似的错误
SQLite3::SQLException: duplicate column name: account_id: ALTER TABLE "strings" ADD "account_id" integer
注意:
•不管我是否使用add_column的括号(add_column(args))。
•在我的任何迁移中,我都没有提到任何可以命名为"字符串"或"符号"的表
因此,无论我试图修改的表的对象类型是什么,它都错误地认为我要修改以该对象类型命名的表。=
根据http://api.rubyonrails.org/classes/ActiveRecord/Migration.html我的语法正确。
这些迁移工作在另一台机器上,所以这是一个环境问题。
我用的是Mac OS X lion。
Ruby 1.8.7
Rails 2.3.8
Rake 0.8.7
EDIT(按要求):The Migration: http://pastebin.com/xhwP8TFy
所以,因为Stackoverflow有愚蠢的规则,我不得不使用两个不同的帐户。
发现,这是因为我如何扩展"对象"类。在config/initializers中,我有一些对象方法。
显然存在冲突。虽然它从来没有告诉我关于它的任何事情。
所以…不要在那个文件夹中扩展对象