在我的 Rails 应用程序中,我有一个模型 Events
。它有几个列是通过遵循本指南创建的 https://devcenter.heroku.com/articles/export-from-heroku-postgres然后执行 rake db:schema:dump
。
现在我想向 Event
模型添加一些新列。我尝试编辑 schema.rb
并重新启动应用程序,但这似乎不起作用。有人知道正确的处理方法吗?
----编辑--------
具体来说,我将这一行添加到 schema.rb
中的 Event
模型中。
t.datetime "date_time"
当我单击链接以在 Rails 应用程序中添加事件时,我收到此错误:
undefined method `date_time' for #<Event:0x007fdb59a87118>
最佳答案
schema.rb
文件表示数据库模式的当前状态,由数据库迁移过程写入,而不是读取 em>.
如果要添加新列,create a migration :
$ rails generate migration AddNewEventStuff
$ vim db/migrate/add_new_event_stuff*.rb
然后添加您的列:
class AddNewEventStuff < ActiveRecord::Migration
def change
add_column ...
end
end
除了 add_column
之外的所有内容都应该已经存在。完成迁移后,执行 rake db:migrate
即可完成。现在您应该会在 schema.rb
中看到一些变化。
参见 Ruby on Rails Migration Guide有关更多详细信息和构建迁移的不同方法。
关于ruby-on-rails-3 - 将列添加到 Rails 3 应用程序中的模型,用于具有从 heroku 转储的模式的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13409974/