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

如何删除Rails 3中的迁移文件

  •  100
  • alvincrespo  · 技术社区  · 15 年前

    我要删除/删除迁移文件。我该怎么做呢?我知道这里也有类似的问题,但是作为更新,有没有比执行脚本/销毁更好的方法?

    另外,我应该做一个 db:reset db:drop 如果删除/删除迁移?

    8 回复  |  直到 8 年前
        1
  •  138
  •   Chris Frederick    14 年前

    我通常:

    1. 表演一个 rake db:migrate VERSION=XXX 在所有环境中,删除之前的版本。
    2. 手动删除迁移文件。
    3. 如果有挂起的迁移(即,我删除的迁移不是最后一个迁移),我只是执行一个新的 rake db:migrate 再一次。

    如果您的应用程序已经在生产或暂存中,那么编写另一个破坏表或列的迁移就更安全了。

    迁移的另一个重要参考是: http://guides.rubyonrails.org/migrations.html

        2
  •  64
  •   Gediminas Å ukys kicaj    11 年前

    删除迁移的另一种方法:

    $ rails d migration SameMigrationNameAsUsedToGenerate
    

    使用之前 rake db:migrate 执行,因为数据库中的更改将永久保留:)-或手动删除更改

        3
  •  17
  •   Mayur Shah    8 年前

    从应用程序的主目录运行以下命令:

    1. rake db:migrate:down VERSION="20140311142212" (这里的版本是创建迁移时Rails预先准备的时间戳。此操作将还原此迁移导致的数据库更改)

    2. Run "rails destroy migration migration_name" (迁移名称是创建迁移时选择的名称。移去“ 时间戳 “从迁移文件名获取它)

        4
  •  9
  •   Vicky    11 年前

    我们还可以将迁移降低为

    rake db:migrate:down VERSION=versionnumber
    

    参考 Rubyonrailsguide

        5
  •  8
  •   Sam Chad    11 年前

    我们可以使用,

    $ rails d migration table_name  
    

    这将删除迁移。

        6
  •  2
  •   frenesim    13 年前

    有时我发现自己正在删除迁移文件,然后从数据库中删除表模式迁移的相应条目。不是很漂亮,但很管用。

        7
  •  1
  •   nevermind    13 年前
        8
  •  0
  •   Miguel Alatorre    11 年前

    我也有同样的问题:

    1. 轨道D迁移单元 -这删除了带有最后一个时间戳的迁移
    2. 轨道D迁移单元 -这删除了其他迁移
    3. 使用git状态检查未跟踪文件上是否不再存在
    4. 轨道G迁移单元

    为我修的