创建迁移文件时分配默认值

问题描述

|
rails generate migration AddRetweetsCountToTweet retweets_count:integer 
好的,我使用上面的代码创建了迁移文件,该文件会自动在生成的文件中生成代码,以将列添加到数据类型为整数的模型Tweet中。现在,我想在生成迁移文件时向添加的列中添加默认值。那可能吗?我用谷歌搜索,但找不到。伙计们需要帮助。     

解决方法

        默认迁移生成器不处理默认值(支持列修饰符,但不包含
default
null
),但是您可以创建自己的生成器。 您还可以在运行
rake db:migrate
之前通过向
add_column
添加选项来手动更新迁移文件:
add_column :tweet,:retweets_count,:integer,:null => false,:default => 0
...并阅读Rails API     ,        
t.integer :retweets_count,:default => 0
... 应该管用。 请参阅有关迁移的Rails指南     ,        是的,我也看不到如何在迁移生成器命令中使用\'default \',但是能够在应用\“ rake db”之前通过修改生成的迁移文件,为新的字符串列指定默认值,如下所示:迁移\”:
class AddColumnToWidgets < ActiveRecord::Migration
  def change
    add_column :widgets,:colour,:string,default: \'red\'
  end
end
这会向我的\'Widget \'模型添加一个名为\'colour \'的新列,并将新窗口小部件的默认\'colour \'设置为\'red \'。     ,        我在迁移文件中尝试过t.boolean:active,:default => 1以创建整个表。运行该迁移后,当我在db中签入时,将其设置为null。即使我告诉默认为\“ 1 \”。之后,我像这样稍微更改了迁移文件,然后为我创建了创建表迁移文件的默认值。 t.boolean:active,:null => false,:default => 1。为我工作。 我的Rails框架版本是4.0.0     ,        您必须首先为模型基础创建迁移,然后再创建另一个迁移以使用change_column修改以前的迁移...
def change
    change_column :widgets,default: \'red\'
end
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...