在一次迁移中添加多个列

Mar*_*tuc 16 migration ruby-on-rails-3

场景:我们已经有了一个Document模型,我们想要添加

  • 上市
  • 私人的

使用单个迁移的更多列.

从我到目前为止搜索和阅读的内容来看,您只需编辑迁移文件即可.如果已应用迁移,则回滚并再次迁移.

  1. 这是常见的最佳做法,还是有更好的方法?
  2. 如果这是这样做的方式,那么迁移的正确命名是什么?

Cam*_*Cam 61

如果迁移是本地迁移并且尚未推送到任何存储库,则回滚迁移并重新编辑它是唯一安全的.编辑其他人已应用的迁移可能会导致问题.

将列添加到现有表的最安全方法是创建新的迁移:

rails g migration add_public_and_private_to_document public:string private:string
Run Code Online (Sandbox Code Playgroud)

如果使用add_[column_names]_to_[model]命名约定,rails将计算出适当的表并创建所需的迁移.

请阅读此处了解更多信息:http://guides.rubyonrails.org/migrations.html