Ruby on rails 有意创建重复迁移

Ruby on rails 有意创建重复迁移,ruby-on-rails,database-migration,Ruby On Rails,Database Migration,我正在创建一个应用程序,用户可以从中添加和删除实体。应用程序生成模型、迁移并迁移数据库。实际上是这样的: `rails generate model #{model_name}` `rake db:migrate` 当用户删除模型时,我会清理文件并生成一个新的迁移来删除表 此时,我将有一个迁移列表,如下所示: 20110515130423_create_customers.rb 20110515130445_create_houses.rb 20110515130457_drop_custom

我正在创建一个应用程序,用户可以从中添加和删除实体。应用程序生成模型、迁移并迁移数据库。实际上是这样的:

`rails generate model #{model_name}`
`rake db:migrate`
当用户删除模型时,我会清理文件并生成一个新的迁移来删除表

此时,我将有一个迁移列表,如下所示:

20110515130423_create_customers.rb 20110515130445_create_houses.rb 20110515130457_drop_customers.rb

没问题,一切正常。在整个集合中迁移会添加和删除内容,但这没关系

当有人试图添加他们以前添加的模型时,我的问题就出现了。Rake说:

多次迁移的名称为CreateCustomers

我该怎么办?我将首先尝试的方法是检测这样的循环,然后清除所有迁移。这会使迁移数据库处于一种奇怪的状态吗


谢谢你的帮助-我知道这是一个有点奇怪的情况-

您好,我认为删除表格然后重新创建是个坏主意。您可以创建类似于alter_table_客户的迁移,您应该在DB中进行必要的更改。

谢谢您的回答,对于大多数应用程序,我都同意。然而,这是一个奇怪的自修改应用程序,用户可以选择appwell中存在的模型。在这种情况下,我将编写自己的生成器,覆盖旧的迁移,而不是创建新的迁移