Rails 模型/迁移问题

Rails Model / Migrate Issue

我正在阅读这本书 "RailSpace" 并且正在努力学习 rails。但是我在这个特定问题上被困了 2 天。

我已经创建了一个用户模型,但是当我迁移它时,我总是遇到错误。这是我的代码。

class CreateUsers < ActiveRecord::Migration

  def self.up
    create_table :users do |t|
      t.column :screen_name, :string
     t.column :email, :string
     t.column :password, :string
    end
  end

  def self.down
   drop_table :users
  end
end

它一直在告诉我

rake aborted!
== 1 CreateUsers: migrating ===================================================
-- create_table(:users)
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: Table 'users' already exists: CREATE TABLE `users` (`id` int(11) auto_increment PRIMARY KEY, `screen_name` varchar(255), `email` varchar(255), `password` varchar(255)) ENGINE=InnoDB/Users/coreyholmes/RubymineProjects/worklink/db/migrate/001_create_users.rb:4:in `up'
-e:1:in `<main>'
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'users' already exists: CREATE TABLE `users` (`id` int(11) auto_increment PRIMARY KEY, `screen_name` varchar(255), `email` varchar(255), `password` varchar(255)) ENGINE=InnoDB
/Users/coreyholmes/RubymineProjects/worklink/db/migrate/001_create_users.rb:4:in `up'
-e:1:in `<main>'
Mysql2::Error: Table 'users' already exists
/Users/coreyholmes/RubymineProjects/worklink/db/migrate/001_create_users.rb:4:in `up'
-e:1:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

Process finished with exit code 1

我在这里做错了什么?一切?好想学Rails哈哈

如错误所述,您正在尝试创建一个已存在的 table users。这是您唯一的迁移吗?如果不是,请确保您没有在之前的迁移中创建 users。另外,检查你的 config/database.yml 文件以确保你的开发数据库名称是正确的。

如果这是您的第一次迁移,您可能使用的数据库中已有数据。假设它是一个开发数据库,​​您应该能够删除它,即销毁它,然后从头开始创建它。您可以删除数据库,重新创建它,然后 运行 迁移:

rake db:drop
rake db:create
rake db:migrate