2011-03-15 4 views
1

마이그레이션 파일 이름은 다음과 같습니다.ROR 이전 파일 이름

가 어떤 순서로 이러한 실행됩니다 20110022211973_smoething 002_blah 003_bookblah 001_smomething?

답변

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

그들은 순서로 실행됩니다 :

20110022211973_smoething

  • 002_blah
  • 003_bookblah
  • 을 001_smomething 때문에 수행 마이그레이션 이름으로 파일을 정렬 레일.