首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIgration没有运行rails

MIgration没有运行rails
EN

Stack Overflow用户
提问于 2016-08-11 18:36:43
回答 1查看 45关注 0票数 2

我在tasks表中有一个属性,名为is_active,它名为boolean.But --我在创建table.So时忘记将默认值设置为table.So--现在我试图默认将这个值设置为true,但正如我从sqlite中看到的--新任务仍然在创建中,这个值设置为NULL.Can --请帮助我找出迁移中的问题所在?

迁移文件:

代码语言:javascript
复制
class AddDefaultValueToTask < ActiveRecord::Migration[5.0]
  def change
    def up
      change_column :tasks, :is_active, :boolean, :default =>  true
    end

    def down
      change_column :tasks, :is_active, :boolean, :default =>  nil
    end
  end
end

Schema.rb文件

代码语言:javascript
复制
create_table "tasks", force: :cascade do |t|
    t.text     "body"
    t.boolean  "is_active"
    t.integer  "project_id"
    t.string   "deadline"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["project_id"], name: "index_tasks_on_project_id"
  end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 18:48:04

您缺少了哈希火箭操作符:“=>

代码语言:javascript
复制
change_column :tasks, :is_active, :boolean, :default => true

另外,如果您使用的是updown,那么您需要删除change块。这两种方法不能同时使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38903836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档