ROR迁移文件名

时间:2011-03-15 05:22:54

标签: ruby-on-rails migration rake

我的迁移文件名称如。

001_smomething 002_blah 003_bookblah 20110022211973_smoething

这些会以什么顺序运行?

2 个答案:

答案 0 :(得分:1)

在场景后面,文件名开头的数字部分将转换为整数。然后,迁移文件按版本排序。所以它将以你描述的相同顺序运行:

001_smomething
002_blah
003_bookblah
20110022211973_smoething

您可以查看source code的工作原理。这是重要的部分:

# 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 }

答案 1 :(得分:0)

他们将按此顺序运行:

  1. 001_smomething
  2. 002_blah
  3. 003_bookblah
  4. 20110022211973_smoething
  5. 因为执行迁移时的rails会按名称对文件进行排序。