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

Create a Users model where previous Users model existed then dropped

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

"Another migration is already named create_users..."

有没有办法重新创建用户?

只是为了更加清楚。有一个 create_users 和后来的一个 drop_users 迁移。

当以前的开发者 运行 rails g model user 时,这创建了一个迁移 class,如下所示:

class CreateUsers < ActiveRecord::Migration

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

您可以:

  1. 将之前的迁移重命名为 CreateUsersPrevious(不要忘记重命名迁移文件 xxxxxxxxxxx_create_users_previous.rb)如果您想将其记录在您的迁移历史记录中
  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 迁移文件以寻求帮助。