gpt4 book ai didi

ruby-on-rails - 为什么这个简单的 Rails 迁移不更新我的数据库?

转载 作者:行者123 更新时间:2023-12-04 07:03:11 26 4
gpt4 key购买 nike

我有一个非常简单的迁移,它添加了一个 bool 列:

class AddMuteToPreferences < ActiveRecord::Migration
def self.up
add_column :preferences, :mute_audio, :boolean, :default => false
end

def self.down
remove_column :preferences, :mute_audio
end
end

我运行迁移:
== 81 AddMuteToPreferences: migrating =========================================
-- add_column(:preferences, :mute_audio, :boolean, {:default=>false})
-> 1.9043s
== 81 AddMuteToPreferences: migrated (1.9047s) ================================

看起来很桃色,对吧?但是,出于某种原因,我的首选项表中仍然没有 mute_audio 列。

我想不通。我之前执行过 add_column 没有任何问题。

有没有人见过这种行为?

最佳答案

我认为 rails 没有理由无法添加列。您可能正在查找错误的数据库。

最好的调试方法是进入 rails 控制台模式:

script/console development

并创建一个新的首选项对象并给 mute_audio 一个值:
>> p = Preference.new
(...)
>> p.mute_audio = true

在第一个命令之后,您应该会看到一些包含有关新创建对象的信息的输出。你应该看到它有 mute_autio: false .如果设置属性 mute_audio 没有输出错误,则没有问题,新添加的列在那里。

关于ruby-on-rails - 为什么这个简单的 Rails 迁移不更新我的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1516100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com