rake db:migrate db:reset 和 db:schema:load 之间的区别

2024-06-20

和...之间的不同rake db:migrate and rake db:reset我很清楚。我不明白的是如何rake db:schema:load与前两者不同。

只是为了确保我在同一页面上:

  • rake db:migrate- 运行尚未运行的迁移。
  • rake db:reset- 清除数据库(大概做了rake db:drop + rake db:create + rake db:migrate)并在新数据库上运行迁移。

  • 数据库:迁移运行尚未运行的(单个)迁移。

  • 数据库:创建创建数据库

  • db:drop删除数据库

  • 数据库:架构:负载按照 schema.rb 在现有数据库中创建表和列。这将删除现有数据。

  • db:setupdb:create、db:schema:load、db:seed 是否执行

  • db:resetdb:drop、db:setup 是否执行

  • 数据库:迁移:重置db:drop、db:create、db:migrate 是否执行

通常,您可以在通过新的迁移文件对架构进行更改后使用 db:migrate (仅当数据库中已有数据时这才有意义)。 db:schema:load 在您设置应用程序的新实例时使用。


对于 Rails 3.2.12:

我刚刚检查了源代码,现在的依赖关系是这样的:

  • 数据库:创建为当前环境创建数据库

  • 数据库:创建:全部为所有环境创建数据库

  • db:drop删除当前环境的数据库

  • 数据库:删除:全部删除所有环境的数据库

  • 数据库:迁移为当前环境运行尚未运行的迁移

  • 数据库:迁移:向上运行一个特定的迁移

  • 数据库:迁移:向下回滚一个特定的迁移

  • 数据库:迁移:状态显示当前迁移状态

  • 数据库:回滚回滚最后一次迁移

  • 数据库:转发将当前架构版本推进到下一个架构版本

  • db:seed(仅)运行 db/seed.rb 文件

  • 数据库:架构:负载将架构加载到当前环境的数据库中

  • 数据库:架构:转储转储当前环境的架构(并且似乎也创建了数据库)

  • db:setup运行 db:create db:schema:load db:seed

  • db:reset运行 db:drop db:setup

  • 数据库:迁移:重做根据指定的迁移运行 (db:migrate:down db:migrate:up) 或 (db:rollback db:migrate)

  • 数据库:迁移:重置运行 db:drop db:create db:migrate

欲了解更多信息,请查看https://github.com/rails/rails/blob/v3.2.12/activerecord/lib/active_record/railties/databases.rake https://github.com/rails/rails/blob/v3.2.12/activerecord/lib/active_record/railties/databases.rake(对于 Rails 3.2.x)和https://github.com/rails/rails/blob/v4.0.5/activerecord/lib/active_record/railties/databases.rake https://github.com/rails/rails/blob/v4.0.5/activerecord/lib/active_record/railties/databases.rake(适用于 Rails 4.0.x)

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

rake db:migrate db:reset 和 db:schema:load 之间的区别 的相关文章

  • 安装heroku toolbelt后出现Ruby错误

    我正在 win 7 32 位系统上使用 Heroku 但我没有管理员权限 我已经下载并安装了heroku工具带如下http community webfaction com questions 11803 heroku toolbelt h
  • before_filter set_locale 除了控制器

    My routes rb MyApp Application routes draw do scope locale do all resources here end namespace blog do resources posts o
  • 我是否应该标准化我的数据库?

    在设计数据库 例如 MySQL 的模式时 会出现是否完全规范化表的问题 一方面 连接 以及外键约束等 非常慢 另一方面 您会获得冗余数据和潜在的不一致 最后优化 是正确的方法吗 即创建一个按书本规范化的数据库 然后查看可以对哪些内容进行非规
  • 如何在 Rails 应用程序中选择性地跟踪方法及其文件访问?

    对于 Rails 应用程序 我想重载或修改 Kernel load 以便它打印出完整路径 例如puts gt File expand path File dirname FILE File basename FILE 对于加载的每个 Rai
  • Rails 路由:向 root 添加(浅层)关注

    在我的routes rb中 我定义了一个问题 如下所示 concern namespaceable do resources comments do resources replies 现在 我可以将此问题添加到任何资源中 resource
  • 捆绑安装无法安装 libxml-ruby

    我是 Ruby 世界的新手 我需要克隆一个现有项目 说明是 source env development bundle install 但它失败了 Using libv8 3 16 14 15 Fetching libxml ruby 2
  • Ruby:如何将多个方法调用与“发送”链接在一起

    必须有一种内置的方法来做到这一点 对吧 class Object def send chain arr o self arr each a o o send a return o end end 我刚刚遇到了这个 它确实需要注入 def s
  • 如何在 jQuery.ui.autocomplete 中的自动完成弹出窗口下方添加所有搜索的链接?

    我有使用 jQuery UI 自动完成插件的搜索建议自动完成功能 http jqueryui com autocomplete http jqueryui com autocomplete 但是如何添加结果弹出项目的底部 其行为类似于 Qu
  • Ruby 中的图像抓取

    如何使用 Nokogiri 抓取特定 URL 上存在的图像 如果有比 Nokogiri 更好的选择 请提出建议 css图像标签是 profilePic img 如果它只是一个 img 带有网址 PAGE http site com page
  • 如何在同一视图中渲染两个分页且可 ajax 的集合?

    在 Rails 3 2 索引视图中 我正在渲染两个部分 并且在部分 Show some fields 分页不起作用 如果我改变will paginate要获取实例变量 分页可以工作 但是集合错误 当调用部分时 如何将
  • 一次将多个值插入MySQL [重复]

    这个问题在这里已经有答案了 谁能解释一下为什么这个 PHP MySQL 不起作用 基本上我需要从表单中一次插入大量行 因此会有多个名称字段 多个短 中 长字段等 我收到此错误 Notice Undefined variable Short1
  • 登录西纳特拉?

    我无法弄清楚如何使用 Sinatra 记录消息 我不想记录请求 而是在我的应用程序中的某些点记录自定义消息 例如 当获取 URL 时 我想记录 Fetching url 这就是我想要的 指定日志级别的能力 例如 logger info Fe
  • MySQL 中如何使用继承?

    所以我正在读一本关于数据库设计原理的书 并读到了有关继承的章节 但我对如何在 MySQL 中将子类与其超类 连接 感到困惑 The table structure would for example look like this 那么我如何
  • 用于从 Open3.popen3 标准输出中提取值的正则表达式

    如何获取外部命令的输出并从中提取值 我有这样的事情 stdin stdout stderr wait thr Open3 popen3 path foobar configfile if exit 0 wait thr value to s
  • 在 Rails 中使用 config.assets.precompile 将资源包含在子目录中

    我有一个在 Heroku 上运行的 Rails 3 1 3 应用程序 通过 S3 进行资产托管asset sync 包含在我的app assets css目录是一个包含两个文件的子目录 main css scss and categorie
  • Mac 上的 libv8 (3.11.8.17) 捆绑包安装错误

    我将 ruby 升级到 1 9 3 现在我无法启动我的服务器 当我运行捆绑安装时 它说 An error occurred while installing libv8 3 11 8 17 and Bundler cannot contin
  • 后端验证轨

    如何验证文本列不包含网站 示例可以是 www google com google com http gooogle com http www google com https www google com https google com
  • 安装适用于 Windows 7 的 Ruby on Rails(最新)

    我是一名设计师 而不是一名编码员 并且在首次安装时遇到了问题 我下载了 Rails 1 8 6 和 Instant Rails 我打开控制台并尝试更新 gem 那里没有任何作用 我想我会删除所有内容并重新开始 因为我确信我现在破坏了某些东西
  • aws-s3 gem 和 right_aws gem 之间的 Rails Paperclip 冲突。怎么解决?

    对于新应用程序 我想使用回形针将文件存储到 S3 我已经为另一个应用程序安装了 aws s3 gem 这似乎会导致一些问题 因为 Paperclip 应该使用 right aws 但正在尝试使用 aws s3 gem 但我不想从我的系统中删
  • Microsoft SQL 数据库的 WebSocket 侦听器

    我目前正在开发一个项目 该项目必须使用 WebSockets 作为将数据传输到客户端的方式 基础设施看起来像这样 客户端 gt Web 服务器 gt Microsoft SQL 数据库 我想最理想的情况应该是这样的 客户端打开一个到服务器的

随机推荐

  • 数据协定中的 IsReference 属性

    目的是什么IsReference财产在DataContract 应用此属性后 请求和响应有何变化 它决定对象如何序列化 默认情况下 IsReference false Setting IsReference true允许对可以互相引用的对象
  • Chrome 扩展屏幕截图部分图像裁剪适用于 Retina 显示屏

    我制作了一个 chrome 扩展 它捕获网站的单个元素 div 我使用 chrome tabs gt captureVisibleTab 来制作屏幕截图 然后 使用元素 div 的坐标 x y 和大小 宽度 高度 裁剪屏幕截图 这对我来说在
  • 有没有办法使用 Python Pandas 读取所有行,直到遇到空行

    我在 Excel 中有很多行 并且这些行在空行之后填充有垃圾值 有没有办法使用 Python pandas 只读取 Excel 中第一个空行之前的记录 我不知道 read excel 是否可以做到这一点 如果您从 Excel 导入空行 这些
  • 如何为单集群(独立集群)ElasticSearch 配置单节点

    我在本地计算机上安装了elasticsearch 我想将其配置为集群中唯一的一个节点 独立服务器 这意味着每当我创建新索引时 它只能用于我的服务器 它将无法被其他人的服务器访问 我当前的情况是 这些索引可供其他服务器使用 这些服务器形成在集
  • 限制特定用户对特定资源的点到站点 Azure VPN 访问

    有没有办法限制某些点到站点用户对 Azure 资源的访问 例如 我希望允许 P2S VPN 用户可以访问一台虚拟机但不能访问另一台虚拟机 或者允许访问一个子网但不能访问其他子网 现在看来 一旦您进入 您就可以享受 VNET 可以访问的所有内
  • virtualenv:错误:需要以下参数:dest

    我无法在我的 macbook pro 上安装和配置 python3 虚拟环境 我试图为我的下一个项目安装并尝试 django 但这里开始出现问题 在目录中安装虚拟环境 在主目录root中添加以下命令来创建环境 python3 m venv
  • 使用外部存储,删除文件夹时出错

    我正在使用 docker nextcloud 我创建了一个干净的实例 我想使用应用程序外部存储 我设法使用以下命令成功配置本地存储 mount id docker exec user 1000 nextcloud php occ files
  • SQLite中的ROWID是自动设置的吗?

    所以 我在 Ionic 上有这个应用程序 它使用SQLite ngCordova 插件 https github com litehelpers Cordova sqlite storage用于内部存储 在其上 我使用以下命令创建一个表 d
  • 更改 django 中的项目名称

    我将 django 项目的名称从oldname to newname使用 Pycharm 的重构 gt 重命名 我翻遍了这个项目 似乎到处都改了名字 但是当我尝试 runserver 时 这就是我得到的 Traceback most rec
  • 如何测试 httpOnly cookie 标志

    我在 websphere 中为 jsessionid cookie 设置了以下属性com ibm ws webcontainer HTTPOnlyCookies 知道如何在 Firefox 或 IE 中使用 JavaScript 进行最佳测
  • 伊德里斯统一意外失败

    我正在尝试在 Idris 中创建一个所谓的可判定解析器 起初我只是想解析自然数 但遇到了一个意想不到的问题 生成它的代码的最小示例如下 data Digit Char gt Type where Zero Digit 0 One Digit
  • 游戏如何制作火焰和烟雾效果? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在互联网上搜索了有关粒子系统和火焰
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 如何记录函数可能抛出的所有异常?

    如果您有一个可能引发异常的公共函数 该函数使用其他 私有或公共 辅助函数也可能引发异常 我认为您应该记录公共函数可以引发哪些异常这包括辅助函数抛出的异常 像这样 使用 Doxygen throw Exception throw Except
  • 设置asp.net验证器的顺序

    我使用 3 个验证器来验证文本框 但当在文本框中输入无效值时 所有验证器都会被触发 但我希望这些验证器按照特定的顺序工作 以便用户可以一一解决这些错误
  • 暂时禁用提交按钮

    我有一个将大文件上传到服务器的表单 像这样的事情
  • Flask-Admin 具有多对多关系中的附加字段

    我有两个表 产品 成分 和 产品成分 class ProductIngredient db Model tablename product ingredient id db Column db Integer primary key Tru
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • PyCharm 中有 HTML 块 {%%} 的快捷方式吗?

    我正在使用 HTML 块 例如 block content 经常使用 但必须输入括号和百分比符号很麻烦 有没有捷径或其他方法可以自动执行此操作 到目前为止我刚刚发现这个 PyCharm 中有插入 的快捷方式吗 https stackover
  • rake db:migrate db:reset 和 db:schema:load 之间的区别

    和 之间的不同rake db migrate and rake db reset我很清楚 我不明白的是如何rake db schema load与前两者不同 只是为了确保我在同一页面上 rake db migrate 运行尚未运行的迁移 r