mysql - Rails 模型/迁移问题

标签 mysql ruby-on-rails ruby dbmigrate

我正在阅读《RailSpace》这本书,并正在尝试学习 Rails。然而,我在这个特定问题上被困了两天。

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

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 哈哈。

最佳答案

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

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

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

关于mysql - Rails 模型/迁移问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31736407/

相关文章:

php - Mysql + php 带有特殊字符,如 '(Apostrophe) and "(引号)

php - 如何从这样的3个表中查询

php - 如何通过对两列进行分组来防止重复? MYSQL/Codeigniter

调试 Rails 应用程序时不显示 CSS 文件和行号

Ruby Kernel::system,shell 命令中的否定模式未按预期工作

java - 找不到类 : com. mysql.jdbc.Driver

ruby-on-rails - rails 在启动时记录错误

ruby-on-rails - 如何在rails中的命名空间内生成 Controller

ruby-on-rails - rails 4 : Factory Girl & Rspec with associated Model

Ruby tcpserver 客户端服务器