【问题标题】:Why doesn't the Rails migration generator respect the fields I ask for?为什么 Rails 迁移生成器不尊重我要求的字段?
【发布时间】:2012-02-26 19:28:53
【问题描述】:

我使用这样的命令:

administrator@ubuntu:~/demo$ rails generate migration Testabc test123:string

终端响应:

invoke active_record
create db/migrate/20120204124219_testabc.rb

但文件中的内容是:

class Testabc < ActiveRecord::Migration
  def up
  end

  def down
  end
end

那么,我的表格和字符串列在哪里?

【问题讨论】:

    标签: ruby-on-rails migration rails-generate


    【解决方案1】:

    您的迁移需要看起来像 rails g migration add_&lt;field&gt;_to_&lt;table&gt; field:type。例如,这个:

    rails generate migration add_fieldname_to_tablename fieldname:string
    

    会产生这个:

    class AddFieldnameToTablename < ActiveRecord::Migration
      def up
        add_column :tablenames, :fieldname, :string
      end
    
      def down
        remove_column :tablenames, :fieldname
      end
    end
    

    如果你想从头开始生成一个模型,那么你应该这样做:

    rails generate model Widget fieldname:string
    

    这将产生一个包含模型所需字段的迁移。

    【讨论】:

    • 一开始我只是想创建一个中间表来连接两个表,建立一个多对多的关系。这只是一个简单的例子,我不打算修改表格:)
    【解决方案2】:

    也许您正在寻找:

    rails generate model Testabc test123:string
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-16
      • 2018-09-29
      • 2013-12-14
      • 2016-08-02
      • 1970-01-01
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多