【问题标题】:Production mode: what is "the best way"\"the most commonly used approach" to change and add data in database?生产模式:在数据库中更改和添加数据的“最佳方式”\“最常用的方式”是什么?
【发布时间】:2011-11-01 21:03:27
【问题描述】:

我正在使用 Ruby on Rails v3.0.9,并且我有一个在 生产 模式下运行的 Web 应用程序。我想在数据库中更改并添加一些数据(另外,我想让这些数据更改在 development 模式下生效 - 例如,添加的数据应该存在当我在本地机器上运行和开发我的应用程序时也处于开发模式)...

... 什么是“最好的方法”\“最常用的方法”来做到这一点?我的意思是,例如,我应该创建一个带有 User.create(:name => '...', :surname => '...', ...) 的迁移文件语句并运行这些或有其他方法来完成我想做的事情?

注意:我不需要用初始数据填充数据库(我已经在 seed.rb 文件中完成了)。我只需要更新和添加数据库表行。

【问题讨论】:

  • 迁移是最干净的方式。你有什么问题吗?
  • 为了让事情变得更干净,请将您的迁移文件存储在您想要的任何文件夹中,并根据默认值创建自定义您的 rake 任务:github.com/rails/rails/blob/master/activerecord/lib/…
  • @apneadiving - 不,我没问题。

标签: ruby-on-rails ruby database ruby-on-rails-3 production-environment


【解决方案1】:

seed.rb 应仅用于初始值集。

rake task 应仅在您要更新任何现有列的数据时使用。

migration 应该在您需要更改表的架构时使用。

【讨论】:

  • 我想执行“数据迁移”(不更改数据库架构)。
【解决方案2】:

您应该使用文件db/seed.rb 来完成此任务

这是一个如何使用它的例子:http://asciicasts.com/episodes/179-seed-data

【讨论】:

  • 我使用“User.find_or_create_by_name(...)”之类的语句用“initial”数据填充我的数据库。我现在可以在那个文件中做些什么来完成我想做的事情(更新和添加数据)?
猜你喜欢
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 2012-06-04
  • 1970-01-01
相关资源
最近更新 更多