ruby - ruby 中的模型和模式是否相同?
问题描述
在我们执行 db:migrate 之后,我很困惑,架构是什么意思?如果模型已连接,它会自动更改模型,还是我们需要手动更改模型以反映模式?
解决方案
如果您在谈论db/schema.rb
文件,那么它与迁移不同。迁移旨在运行数据库命令以更新实际的底层数据库架构。当您运行rake db:migrate
它时,它会尝试在数据库上运行任何挂起的迁移。如果成功,它还将在后台运行rake db:schema:dump
,这将更新db/schema.rb
反映实际模式的最新版本的文件。如果由于某种原因迁移由于某些错误而失败,它将回滚并将模式保留在之前的状态以运行迁移。
Rails 中的模型不涉及模式本身,但是有生成器可以帮助您创建迁移文件。为了更好地理解这一切是如何工作的,你真的应该阅读这里的文档
推荐阅读
- android - Firebase 实时数据库的行为不一致
- c# - 在带有 Razor Pages Viewcomponent .Net Core 2.1 的选项卡中使用多个模型
- sql - 如何在 SQL Server 中使用线性回归预测未来值
- ios - WKWebView 在 webView.reload() iOS 10 之后无法滚动
- python - 为什么 chrome 总是创建三个连接但只使用其中两个?
- javascript - 如何检查用户输入是否等于javascript中div元素的id?
- javascript - 为什么我在事件中使用相同的声明常量得到不同的输出值?
- json - 使用 Codable 使用动态编码密钥解码 json?
- r - 即使安装了 devtools,R 中也没有名为 devtools 的包
- sql-server - 从字符串转换为唯一标识符时转换失败 - 不回滚事务