创建一个用户模型,其中存在以前的用户模型然后删除

时间:2015-11-27 18:35:59

标签: ruby-on-rails rails-migrations

我正在开发一个Rails应用程序,其中前一个开发人员创建了一个Users模型,然后将其删除以代替另一个解决方案。迁移文件仍在存储库中,但显然该表不存在。我现在正在尝试创建用户身份验证系统来集成博客,但我遇到了上一次迁移的问题,并在尝试rails g model User时收到以下错误消息:

“另一个迁移已经命名为create_users ...”

是否有可能再次创建用户?

只是要格外清楚。有一个create_users,后来有一个drop_users迁移。

2 个答案:

答案 0 :(得分:2)

1. $ rails g model User --migration=false
2. $ rails g migration create_users_again
3. open create_users_again migration file (created in step 2), and define your table as:

  def change
    create_table :users do |t|
      t.email :string 

      t.timestamps
    end

    add_index :email
  end

您可以查看旧的create_users迁移文件以获取帮助。

答案 1 :(得分:1)

当前一个开发人员运行rails g model user时,这会创建一个类似的迁移类:

class CreateUsers < ActiveRecord::Migration

现在您正在运行rails g model user,Rails正在抱怨该类CreateUsers已经退出。

你可以:

  1. 如果您希望将迁移文件记录在迁移历史记录中,请将之前的迁移重命名为CreateUsersPrevious(不要忘记重命名迁移文件xxxxxxxxxxx_create_users_previous.rb)
  2. 删除旧的迁移文件