ROR 迁移文件名

发布于 2024-10-22 23:49:42 字数 99 浏览 2 评论 0原文

我的迁移文件名称如下。

001_smothing 002_废话 003_书本 20110022211973_smoething

这些将以什么顺序运行?

I have migration files name like.

001_smomething
002_blah
003_bookblah
20110022211973_smoething

What order will these run in?

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

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

发布评论

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

评论(2

友谊不毕业 2024-10-29 23:49:42

在后台,文件名开头的数字部分被转换为整数。然后迁移文件按版本排序。因此它将按照您所描述的相同顺序运行:

001_smomething
002_blah
003_bookblah
20110022211973_smoething

您可以查看它在 源代码。这是重要的部分:

# Get the number part as version.
version, name = file.scan(/([0-9]+)_([_a-z0-9]*).rb/).first

# Convert version to integer.
version = version.to_i

# Sort the files by version.
migrations = migrations.sort_by { |m| m.version }

Behind the scene, the number part at the beginning of the file name is converted to integer. Then the migration files are sorted by version. So it will run in the same sequence as you described:

001_smomething
002_blah
003_bookblah
20110022211973_smoething

You can look at how it works on the source code. Here's the important part:

# Get the number part as version.
version, name = file.scan(/([0-9]+)_([_a-z0-9]*).rb/).first

# Convert version to integer.
version = version.to_i

# Sort the files by version.
migrations = migrations.sort_by { |m| m.version }
浅暮の光 2024-10-29 23:49:42

它们将按以下顺序运行:

  1. 001_smomething
  2. 002_blah
  3. 003_bookblah
  4. 20110022211973_smoething

,因为rails在执行迁移时按名称对文件进行排序。

They will run in this order:

  1. 001_smomething
  2. 002_blah
  3. 003_bookblah
  4. 20110022211973_smoething

because rails when performs migrations sort files by name.

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