因此,我终于准备好允许一些朋友使用我在Heroku上托管的Ruby on Rails应用程序。我想在开发过程中获得一些反馈意见。如果我在实时Ruby on Rails应用程序中更改数据库,如何更新数据?
如果我需要以某种方式修改数据库会发生什么?数据库中会有数据,所以我将不得不更改数据以反映数据库中的更新,但我不确定这是如何完成的。谢谢阅读。
因此,我终于准备好允许一些朋友使用我在Heroku上托管的Ruby on Rails应用程序。我想在开发过程中获得一些反馈意见。如果我在实时Ruby on Rails应用程序中更改数据库,如何更新数据?
如果我需要以某种方式修改数据库会发生什么?数据库中会有数据,所以我将不得不更改数据以反映数据库中的更新,但我不确定这是如何完成的。谢谢阅读。
通常最好的做法是为真正的用户创建一个生产数据库。 (即使你的应用程序仍处于测试阶段)。拥有一个单独的生产和开发数据库将使您的生活更轻松。
例如:开发数据库通常已经被破坏的数据,这意味着更少的虚拟数据等。
欢呼
sameera
你使用迁移创建数据库?如果是这样的话,那么您所要做的只是改变数据库就是创建一个迁移,在数据库中添加/删除/更改表。例如:
class AddMyColumnToMyTable < ActiveRecord::Migration
def self.up
add_column :table, :my_column, :string
end
def self.down
remove_column :table, :my_column
end
end
然后添加/删除数据,创建一个数据迁移,像这样:
class AddDataToMyTable < ActiveRecord::Migration
def self.up
tables = Table.all
tables.each do |table|
table.my_column = 'new value' # Put more meaningful data population here
table.save!
end
end
def self.down
tables = Table.all
tables.each do |table|
table.my_column = nil
table.save!
end
end
end
数据迁移可以是简单或你想他们是那么复杂。在所有情况下,数据迁移不一定是填充数据库的最佳方式,但对于简单的情况,它们工作得很好。 (不要忘记用适当的关系更新任何模型!)
如果您没有通过迁移创建数据库,则只能通过直接操作数据库来更改数据以反映对数据库的更新通过SQL。通过SQL进行操作始终是Rails应用程序中的一个选项,但迁移具有明显的优势。它们使您能够提交或回滚对数据库结构的更改,而不仅仅是数据。而且,迁移为你做了SQL工作。