我正在从ASP.NET MVC切换到RoR。是的,迁移很酷,但我不需要在我的Web应用程序中使用不同的数据库。 Postgresql会做得很好。
如果我使用PGAdmin来创建和管理我的数据库和架构并避免所有这些花哨的迁移, rake 等,那么可以吗?
更新
谢谢大家!现在我更好地了解迁移是什么,以及我应该使用它们的原因。
答案 0 :(得分:8)
我认为这不是迁移的意思。
在运行相同数据库的多个版本时,可以使用rails(以及其他框架)中的迁移来更新数据库架构。 / p>
例如,您可能有两个数据库,一个在生产服务器上运行,另一个在本地运行以进行开发。编码几天后,您的本地开发数据库可能会有所不同。通过迁移,您只需将代码推送到生产服务器,然后运行迁移即可自动更新生产数据库,使其与您在本地用于开发的数据库保持同步。
所以,回答你的问题,是的,没关系,但是当你需要维护数据库的多个版本时,你可能无法获得一些迁移的细节。
答案 1 :(得分:2)
必须同意charkit,但有一个(而非两个)重要说明为什么 应该使用迁移:迁移不构成模型定义。它们分别存储在文件schema.rb
中。这定义了数据库的行和表。查看文件时,您会找到以下行:
此文件是从数据库的当前状态自动生成的。请使用Active Record的迁移功能逐步修改数据库,然后重新生成此模式定义,而不是编辑此文件。
第二个原因是测试:您可以轻松设置测试数据库以运行所有测试,而无需触及“真实”数据库。我知道在开发时,这不是一个大问题,但是一段时间后这将变得更加重要。
所以,是的,可以使用PGAdmin来创建所有与数据库相关的东西,但是你不应该忘记始终保持模式文件的最新状态并提出测试解决方案。
答案 2 :(得分:1)
通过迁移,您可以在Ruby中开发数据库模式,这通常与数据库无关。
简而言之,将20 minutes or so用于真正获取迁移及其添加的值。然后确定你是否想抛弃它们。奇怪的是,在我开始我的第一个MVC项目之前,我学习了Rails;我最想念的一件事就是迁移。
从技术角度来看,没有它们你应该没问题。