Rails - 使用`rails generate model`来指定不可为空的字段类型

Ala*_*lan 10 ruby ruby-on-rails rails-generate rails-generators

根据rails文档

http://guides.rubyonrails.org/migrations.html

2.3支持的类型修饰符表示应该可以修改字段以允许或禁止列中的NULL,并且可以在终端上执行此操作

这就是我想要在迁移文件中出现的内容

class CreateTestModels < ActiveRecord::Migration
  def change
    create_table :test_models do |t|
      t.string:non_nullable, :null => false

      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

在终端上,我试过了

rails generate model TestModel non_nullable:string{null}
rails generate model TestModel 'non_nullable:string{null: false}'
Run Code Online (Sandbox Code Playgroud)

我想不出任何其他表达方式

注意:我已经知道您可以进入迁移文件并手动添加它.那不是我想要的.

小智 0

我能得到的最接近您的解决方案是这样的:

rails generate model TestModel non_nullable,null:string
Run Code Online (Sandbox Code Playgroud)

我不知道接下来会发生什么,,但这应该给你一个开始