ruby-on-rails - 关于迁移 : undefined method `to_sym' for nil:NilClass

标签 ruby-on-rails migration ruby-on-rails-3

我正在运行 Rails 3.0.3,但在迁移中不小心打错了字:我创建了一个迁移,该迁移创建了一个类型为 boolen 的新列。 (应该是 boolean )。我运行了迁移,Rails 没有警告我这是一个无效类型的列,我可以发誓它在以前的版本中是这样吗?

现在,每当我尝试在迁移中添加、删除或修改任何内容时,都会收到以下错误:

undefined method `to_sym' for nil:NilClass



我什至无法回滚或丢弃。我保存了较早版本的数据库和文件树,但这个问题让我发疯,因为这不是我第一次看到这种情况发生。

如何在没有 Rails 提示的情况下有效地删除列(最好不要手动深入数据库)?

最佳答案

如果您使用 SQLite 数据库,您可能会收到此错误,因为 SQLLite 不提供删除列功能。
http://www.sqlite.org/faq.html#q11

SQLLite 建议您创建一个临时表,其中仅包含原始表中所需的列,传输数据,然后交换表。

关于ruby-on-rails - 关于迁移 : undefined method `to_sym' for nil:NilClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634557/

相关文章:

python - 无法登录我在 django 中创建的用户帐户

ruby-on-rails - 带有内联附件的 Rails 邮件程序错误

javascript - Rails API 不将 JSON 返回到 React 前端

ruby-on-rails - Postgres : What does @@ (double at symbol) mean?

sql-server - SQL Server 中的自动文件组迁移

ruby-on-rails-3 - Rails 3引擎可以从其父应用程序访问模型吗?

ruby-on-rails - 嵌套字段的客户端验证不生成验证

ruby-on-rails - 如何在routes.rb中添加别名

ruby-on-rails - 用于::ActiveRecord_Relation:Class 的 form_for 未定义方法 `model_name'

php - 从 PHP SQL 查询迁移到 MySQL 存储过程的问题