最好的方式来创建一个新表在源码使用红宝石在轨道上2
-
03-07-2019 - |
题
那么什么是最好的方式来创建新的表格中的一个源码数据库在轨道2.我已经创建了数据库使用耙db:迁移命令。所以我应该写个人sql脚本,创建一个数据库或使用耙。我不需要脚手架。
解决方案
基本上使用迁移。
有关如何使用迁移的一些有用帮助,请访问 http://wiki.rubyonrails。 org / rails / pages / understandingmigrations 和 http://wiki.rubyonrails.org/导轨/页/ UsingMigrations 的。我使用的好的备忘单也可以在 http://dizzy.co.uk/上找到。图片Ruby_on_rails /备忘/导轨的迁移。
基本上,迁移使用ruby代码为您创建数据库表。使用漂亮的ruby代码比使用SQL DDL更容易(至少在我看来)这样做 - 它也会自动为你做各种事情(比如将 id
字段添加到所有表中作为rails需要)。然后,您可以使用rake任务将迁移实际应用于数据库。迁移为您提供的另一个主要优点是它们是可反向的 - 因此您的数据库是版本化的,您可以轻松地从一个版本跳转到另一个版本。
其他提示
尽量避免写创建/更改的表脚本和使用Email迁移,而不是。几个原因,想到:
- 携带:它更容易让 AR处理跨平台的味道 差异
- 更改控制:你的 迁徙可以管理的改变 两个方向上与VERSION= 选项,这是不容易 与SQL
- 它的轨道方式:按照轨公约除非另 你有一个令人信服的理由,不要 这样做的
- 简单:你不必担心id和时间戳列当使用的迁移,从而节省了你要记住他们,如果你的工作SQL
如果您不使用脚手架,那么您应该使用 script / generate migration
为每个表创建一个迁移文件。无需使用sql脚本。创建一些迁移后,您可以使用rake db:migrate。
不隶属于 StackOverflow