如何更改 Rails 应用程序数据?

2024-02-19

我看过很多关于 ActiveRecord 迁移以及是否应该使用它们来更改应用程序中的数据的讨论,有些人说是,有些人说不。我的问题是,如果您不使用迁移来执行此操作,那么您使用什么?只是你写的另一个脚本?

我正在寻求有关替代方法的建议,以及为什么它们可能比仅仅使用迁移更好。


如果您使用提供的,就会出现一个问题

rake db:reset

and

rake db:schema:load

任务,其中使用schema.rb作为设置数据库的基础。所以没有数据被加载并且你被卡住了。

In 使用 Rails 进行敏捷 Web 开发,第三版 http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition,你应该得到它(如果 Ruby 书是“Pickaxe”书,这应该是“Hammock”书,顺便说一句?)如果你还没有这样做,DHH 说:

...迁移并不是真正的目的 携带种子数据。它们太暂时了 本质上是可靠地做到这一点。 移民是为了带你离开 模式的一个版本到下一个版本, 不创建新的模式 从头开始——我们有 db/schema.rb 文件 为了那个原因。

所以,一旦你真正 开始真正的应用程序, 人们不会早早地跑你 当他们设置时迁移 应用。他们将从 无论存储在什么版本 db/schema.rb 并忽略所有这些 以前的迁移。这意味着 迁移创建的任何数据 永远不会将其放入数据库,所以 你不能依赖它。

有许多 获得更多的替代方法 永久种子数据。最简单的是 可能只是为了创建一个新文件 db/seed.rb,其中包含那些 Product.create 调用将执行以下操作 设置。然后可以调用该文件 rake db:schema:load 创建后 初始架构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 Rails 应用程序数据? 的相关文章

  • 随机化数组元素

    我有一个数组 number 1 2 3 4 5 6 7 8 9 现在 我想随机化数组内容 例如 5 3 2 6 7 1 8 请指导我如何继续 Use the shuffle方法 irb main 001 0 gt 1 2 3 4 5 shu
  • 如何在Rails中管理没有id的表?

    我有两个模型 人模型和关系模型 第二个存储有关两个人之间关系的信息 它有parent id和child id字段 但没有id字段 我将它与 has many through 连接起来并且它有效 But 即使表中存在某些关系 因为没有 id
  • 与 Array 相比,使用 Ruby NArray 有哪些优点?

    我刚刚遇到了 Ruby 的 NArray 库 请原谅我在问这个问题时的无知 与标准 Ruby Array 实现相比 使用 NArray 库有哪些优点 我已经看到 NArray 是面向数值计算的 但是看看 API 看起来好像只有一些针对数值的
  • Ruby,通过 SSH 和 LOG 逐一运行 linux 命令

    我想用 Ruby 女巫 net ssh 编写代码 在远程 Linux 机器上一一运行命令并记录所有内容 在 Linux 机器上称为命令 stdout 和 stderr 所以我写函数 def rs ssh cmds cmds each do
  • 脚本标头过早结束:媒体(与以下问题相关:rails 应用程序部署+passenger+ubuntu+apache)

    我刚刚设置了一个 linode 服务器并在其上部署了我的 Rails 3 应用程序 它已启动并正在运行 问题是某些图像没有显示在生产中 在本地 它们工作正常 我仔细检查了日志文件 生产 log 但什么也没找到 然后我检查服务器 error
  • 如何将文件中的行读入数组?

    这就是我想做的 但有一句话 lines Array new File open test txt each line lines lt lt line 可能的 执行如下操作 File readlines test txt Read 文档 h
  • .where 与 find。 ActiveRecord::Relation NoMethodError

    我是 Rails 新手 这似乎很明显 但找不到答案 当我做 u User where email email string u name new name 不起作用 我不断收到 NoMethodError undefined method
  • 在自定义条件下清理 SQL

    我需要创建一个简单的搜索 但我无法使用 Sphinx 这是我写的 keywords input split s queries keywords each do keyword queries lt lt sanitize sql for
  • 使用自定义 gem 在 Dreamhost/Passenger 上部署 Sinatra 应用程序

    我有一个 Sinatra 应用程序 正在尝试在 Dreamhost 上运行 该应用程序利用 pony 发送电子邮件 为了让应用程序从一开始就启动并运行 在添加小马之前 我必须gem unpack rack and gem unpack si
  • 与同一模型的多个 has_many 关系

    我有一个可以创建帖子的模型用户 User has many posts Post belongs to user 但是 我还想允许用户将帖子保存为书签 所以我添加了以下内容 Bookmark belongs to post belongs
  • 安装了 Rails 但它说我没有:)

    我刚刚执行了这个命令来安装 Rails gem install rails 它似乎运行良好并安装了东西 然后当我按照本教程进行操作时 http guides rubyonrails org getting started html http
  • 直接或通过包含定义嵌套类

    假设我正在为我的家庭存储系统建模 我有很多不同类型的Container 而且我发现其中很多都有装饰品 因此我为这种常见情况设置了一些辅助代码 我的容器中有我的Mantlepiece and my Bookcase 我只在前者上存放装饰品 而
  • 在关联声明中使用“self”(:has_many,:has_one)

    我需要在 has many 声明中引用模型的自身 我有一门课 我们称之为 Foo Foo has many 酒吧 Foo 有一个名为 randomize 的布尔属性 它确定 has many 关系中 Bar 的顺序 如果 randomize
  • 如何使用 minitest 运行所有测试?

    我下载了一个项目的源代码 发现了一个错误并修复了它 现在我想运行测试来看看我是否破坏了任何东西 测试是在 minitest DSL 中进行的 我如何同时运行它们 我搜索了适用的 rake 任务等 但没有找到 这是一个链接耙子 测试任务 ht
  • 在 Rails App 中实现 WrapBootstrap 主题

    我刚刚购买了一个 wrapbootstrap 主题 并尝试将其插入我的 Rails 应用程序中 一些 css 如填充 导航栏 字形图标 和大多数 javascript 无法正常运行 我将所有样式表和 javascript 分别复制到 ass
  • sinatra 应用程序在运行时无法启动

    我使用的是 Ubuntu 10 10 Ruby 1 9 2 无论我做什么 我都无法在本地计算机上启动 sinatra 应用程序 你好 rb require sinatra get do Hello World end ruby hello
  • 查找数组中 2 个缺失数字的最快方法

    这个问题的存在只是出于纯粹的好奇心 不是作业 找到在数组 1 n 中找到两个缺失数字的最快方法 因此 在相关帖子中 查找数字数组中缺失数字的最快方法 https stackoverflow com questions 2113795 qui
  • Marionette CompositeView 为 Collection 中的每个模型呈现自身,而不是 ItemView (Marionette Rails)

    基本上 我试图将 CompositeView 渲染为带有表头的简单四列列表 其中集合中的每个模型都渲染为 并附加到 我正在跟进德里克的一个例子 http jsfiddle net derickbailey me4NK 非常接近 只有一点点变
  • Rails 上的 SASS 无效 CSS 错误

    我正在尝试使用http startbootstrap com stylish portfolio http startbootstrap com stylish portfolio但是 在我的 Rails 应用程序中 我在 vintage
  • 在 git 中管理 schema.rb 的首选方法是什么?

    我不想添加schema rb to gitignore 因为我希望能够从该文件加载新的数据库架构 然而 保持检查状态会导致各种虚假冲突 而这些冲突很容易通过新的解决方案解决 db migrate reset 基本上我想要一种方法 将 sch

随机推荐

  • C++模板函数问题

    我正在尝试编写一个翻译函数 它将值和一系列查找表作为参数 查找表具有以下声明 template lt typename fromType typename toType gt struct DataTranslator 我可以让它与以下翻译
  • 我应该首先检查对象是否为 null 还是其次? [复制]

    这个问题在这里已经有答案了 举例来说 我创建了一只鸭子 Duck myDuck DuckFactory CreateDuck 过去我总是检查 myDuck 是否为空 if myDuck null Do stuff 我最近查看了一些首先检查
  • Javascript:在进入第三个函数之前测试两个异步调用?

    因此 我有两个异步调用发送到 Web 服务 我的第三种方法都需要它们 你们建议如何这样做 我尝试在我的一个方法中设置一个标志 另一个方法调用第三个方法并发送一些数据 所以在我的第三个方法中我尝试了这个 thirdMethod functio
  • Styled-Components:指定父母悬停时孩子的样式

    我有一个简单的组件 这是它的 2 个版本 带和不带样式组件 没有样式组件 div div div div container width 100px height 100px kid width 20px height 20px conta
  • Python:使用多个分割分隔符分割文件

    我有多个 CSV 文件 需要循环解析它们以收集信息 问题是 虽然它们的格式相同 但有些由 t 分隔 另一些则由 分隔 之后 我想删除字符串周围的双引号 python 可以通过多个可能的分隔符进行分割吗 目前 我可以使用以下方法将行拆分为一个
  • jQuery AJAX 没有错误或成功触发

    我有一个简单的联系表格 然后我就可以从中发布 我正在尝试使用 jQuery AJAX 数据 但由于某种原因 我没有收到处理程序的任何响应 这段代码正确吗 document on ready function contactButton on
  • UITableView titleForHeaderInSection 显示全部大写

    我正在使用 titleForHeaderInSection 显示 UITableView 部分的标题 它在 iOS6 SDK 中工作得很好 但 iOS7 SDK 显示的标题全部大写 我猜这是苹果更新的人机界面指南的一部分 那里的所有示例都显
  • Oracle Merge 删除子句其中数据在目标中但不在源中

    尝试从目标表中删除源表中不存在的记录 对象类型 CREATE OR REPLACE type dbo P REC AS OBJECT ATTR1 VARCHAR2 64 BYTE ATTR2 VARCHAR2 128 BYTE ATTR3
  • Tkinter - 如何将实例变量传递给另一个类?

    我用谷歌搜索了很多 但没有成功 上周发布了一个问题 但没有答案 因为似乎太长了 希望新问题更加清晰 这只是一小段代码 如果您运行它 您将能够重现该问题 我基本上需要做的是获取用户输入 来自 mainGUI 类的 E1 并将其传递给数据库类中
  • Firebase 数据库中“加载文档时出错”

    我在尝试访问时遇到错误Database内的菜单项Firebase 控制台 这是一个新的数据库 实际上有几条数据记录 但屏幕一直旋转很长时间 然后返回消息 加载文档时出错 同时我可以访问验证菜单项没有任何问题 Note 我使用的是配备 Cat
  • yii 执行自定义命令时出错

    当我运行自定义时 出现以下错误yiic终端中的命令 我似乎无法找出此错误的原因 任何人都可以指出我正确的方向 我知道数据库工作正常 应用程序的其他部分工作正常
  • 这段简单的代码的复杂性是多少?

    I m pasting this text from an ebook I have It says the complexity if O n2 and also gives an explanation for it but I fai
  • XSLT:没有属​​性且没有子元素的元素转换为父属性

    给定 xml 文件的结构 名称和值未知 对于每个具有简单结构 没有子节点 没有属性 但有文本且不为空 的非根元素 将其转换为父级的属性 我有 xml 文件
  • 房间和可用日期 PHP/MySQL

    因此 我正在设计一个适用于酒店的 Web 应用程序 它最终应该成为通过一些额外代码为每个酒店网站安装的简单方法 该应用程序是使用 php 和 mysql 因此 正如您可能猜到的那样 我对数据库结构非常困惑 不过 我做了一些研究 我不仅仅是要
  • Git clean 被忽略的文件夹

    我有一个文件夹foo包含在 gitignore 中 gitignore this contains foo foo bar 当我跑步时git clean f or git clean f x 这不会删除bar bar是一个普通文件 有没有办
  • boto3.Bucket.upload_file 是阻塞还是非阻塞?

    Is boto3 Bucket upload file http boto3 readthedocs io en latest reference services s3 html S3 Bucket upload file阻塞还是非阻塞
  • 插入多对多关系表

    简单场景 ClientTable ClientId ClientName Phone Age CityTable CityID CityName Country ClientCityTable ClientCityID ClientID C
  • 如何在 html 文本区域中显示以下文本?

    我有一个如下所示的字符串 请看一下 我把它作为图像 这里也不显示 如果我将该字符串放在这里 它就会变成以下内容 21154537878887GHE u0044 u0045 现在我的问题是 有没有办法将原始字符串放入 HTML 中
  • 有什么方法可以从 lme4 mer 模型拟合对象生成 LaTeX 表吗?

    有谁知道如何从 lme4 生成一个好的出版质量的 LaTeX 表mer目的 既没有xtable方法 包xtable 也不latex方法 包Hmisc 知道如何处理mer对象 例如 考虑到这种拟合 library lme4 fm1 lt lm
  • 如何更改 Rails 应用程序数据?

    我看过很多关于 ActiveRecord 迁移以及是否应该使用它们来更改应用程序中的数据的讨论 有些人说是 有些人说不 我的问题是 如果您不使用迁移来执行此操作 那么您使用什么 只是你写的另一个脚本 我正在寻求有关替代方法的建议 以及为什么