执行rename_table_migration后,在Rails中重命名原始迁移文件

Stp*_*tpn 3 ruby database migration rake ruby-on-rails

我碰巧在Rails中创建了一个Query模型,最近发现这是现在的保留字之一.

我使用新的迁移文件重命名了表,并重命名了所有创建的文件(新模型的名称 - Plot)

问题:将原始迁移文件(20111228212521_create_queries.rb)重命名为20111228212521_create_plots.rb是否可以

以及旧文件中的所有内容:

class CreateQueries < ActiveRecord::Migration
 def change
   create_table :queries do |t|
    t.string :name
    t.text :content

    t.timestamps
    end
   end
 end
Run Code Online (Sandbox Code Playgroud)

class CreatePlots < ActiveRecord::Migration
   def change
    create_table :plots do |t|
    t.string :name
    t.text :content

    t.timestamps
    end
   end
 end
Run Code Online (Sandbox Code Playgroud)

??

我只是不想要太多的迁移文件,也担心我切换到生产时可能会出现一些错误.

abh*_*sra 12

您可以更改迁移文件名,但必须执行以下几个步骤:

  1. rake db:回滚到查询表回滚的程度.

  2. 现在更改迁移文件的名称,以及内容.

  3. 更改可能使用该表的任何Model的名称.

  4. rake db:migrate

  • 回滚也意味着您删除所有数据直到最后一个回滚版本.这将适用于开发,但如果您在生产数据库中,这是不可取的. (5认同)