Rails 3 生成迁移 - 没有向上或向下方法

发布于 2024-12-07 09:42:33 字数 387 浏览 1 评论 0原文

刚刚学习 Rails,正在进行迁移,一切都从逻辑上开始,直到我在代码中遇到了一些奇怪的事情;

rails generate migration AddRegionToSupplier

上面生成了一个迁移文件,其中仅包含“def change”方法。

我用谷歌搜索了一下,发现这正是应该发生的事情;

http://guides.rubyonrails.org/migrations.html

我希望它会生成“def up”并且“def down”方法,以便回滚迁移。我在这一代人中是否做错了什么,或者我错过了一些明显的事情?

Just learning rails, am on to migrations and it all started off pretty logically until I hit something odd going on in the code;

rails generate migration AddRegionToSupplier

The above produces a migration file with only a "def change" method in it.

I googled this and found that this is exactly what is supposed to happen;

http://guides.rubyonrails.org/migrations.html

I would have expected it to generate a "def up" and "def down" method, so that the migration could be rolled back. Have I done something wrong in the generation or am I missing something obvious?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何其悲哀 2024-12-14 09:42:33

您粘贴的链接

Rails 3.1 通过提供新的 change 方法使迁移更加智能。
此方法是编写建设性迁移的首选方法(添加
列或表)。 迁移知道如何迁移您的数据库
并在迁移回滚时将其反转,而无需
写一个单独的 down 方法。

因此,看起来您不必担心 def self.down,因为 Rails 现在足够智能,知道如何将其回滚。

From the link you pasted:

Rails 3.1 makes migrations smarter by providing a new change method.
This method is preferred for writing constructive migrations (adding
columns or tables). The migration knows how to migrate your database
and reverse it when the migration is rolled back without the need to
write a separate down method.

So it looks like you don't have to worry about having a def self.down as Rails is now smart enough to know how to roll it back.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文