代码之家  ›  专栏  ›  技术社区  ›  Sniggerfardimungus

是否有一个rake任务可以让您的模式版本前进或后退一个?

  •  0
  • Sniggerfardimungus  · 技术社区  · 16 年前

    当迁移版本号在您创建迁移时简单地增加时,很容易做到:

    rake migrate VERSION=097
    rake migrate VERSION=098
    rake migrate VERSION=099
    rake migrate VERSION=100
    

    …但是我们现在有了类似于YYYYMMDDTIMEOFDAY的迁移编号。这并不是一件坏事——它将迁移版本的冲突降至最低——但是当我有50个迁移,并且想一次一步地完成它们时,这是一个麻烦:

    rake migrate VERSION=20090129215142
    rake migrate VERSION=20090129219783
    

    …等等,我必须在我面前打开所有迁移的列表,输入一个版本号。是否有任何更简单的语法,如:

    rake migrate VERSION=NEXT
    

    rake migrate VERSION=PREV
    

    ?

    2 回复  |  直到 15 年前
        1
  •  0
  •   Matt Haley    16 年前

    使用回滚到上一次迁移 rake db:rollback . 不过,看起来您不可能只通过一次迁移就继续前进。

        2
  •  1
  •   Shripad Krishna    15 年前

    您也可以回滚到非常旧的版本。

    rake db:回滚版本=yyyymmddtimeofday