2011-03-15 104 views
1

我有迁移文件名称。ROR迁移文件名

001_smomething 002_blah 003_bookblah 20110022211973_smoething

将这些在运行什么命令?

回答

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

他们将在这个顺序运行:

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

因为铁轨时执行迁移按名称排序文件。