ruby-on-rails-3 - 在一次迁移中添加多个列

标签 ruby-on-rails-3 migration

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

  • 公众
  • 私有(private)

  • 或更多列使用单个迁移。

    从我到目前为止搜索和阅读的内容来看,您只需编辑迁移文件。如果已应用迁移,请回滚并再次迁移。
  • 这是常见的最佳做法,还是有更好的方法?
  • 如果这是这样做的方法,那么该迁移的正确命名是什么?
  • 最佳答案

    只有当迁移是本地的并且没有被推送到任何存储库时,回滚迁移并重新编辑它才是安全的。编辑其他人已应用的迁移可能会导致问题。

    向现有表添加列的最安全方法是创建一个新迁移:

    rails g migration add_public_and_private_to_document public:string private:string
    

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

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

    关于ruby-on-rails-3 - 在一次迁移中添加多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4997718/

    相关文章:

    ruby - Consistent String#hash 仅基于字符串的内容

    ruby-on-rails - 下周四(或一周中的任何一天)找到 Ruby

    migration - 有没有办法在运行 "typeorm migration:run"之前获得挂起的迁移?

    mysql - SQLSTATE[HY000] : errno: 150 "Foreign key constraint is incorrectly formed

    git - 从 Mercurial 迁移到 Git 并轻松返回?

    ruby-on-rails-3 - Elasticsearch:使用轮胎 gem 按组过滤

    ruby-on-rails - 如何使用与 Ruby on Rails 模型名称不同的 namespace 和 SQL 表设置关联?

    php - 未找到 Laravel 5.5 类 'Doctrine\DBAL\Driver\PDOPgSql\Driver'

    ruby-on-rails - 使用带有 block 的 mail_to (mail_to ... do)

    ios - 更改 Core Data 中的验证规则时是否需要轻量级迁移