迁移运行但未创建表

时间:2015-07-05 23:22:39

标签: ruby-on-rails ruby

我正在运行以下迁移:

class CreateUsers < ActiveRecord::Migration

  def up
    create_table :users do |t|
      t.column "first_name", :string, :limit => 25
      t.string "last_name", :limit => 50
      t.string "email", :default => "", :null => false
      t.string "password", :limit => 40

      # t.datetime "created_at"
      # t.datetime "updated_at"
      t.timestamps
    end
  end

  def down
    drop_table :users
  end

end

但是在运行rake db:migrate之后,即使日志显示了这个:

== 20150705121953 CreateUsers: migrating ======================================
-- create_table(:users)
   -> 0.0013s
== 20150705121953 CreateUsers: migrated (0.0013s) =============================

当我转到mysql控制台并运行SHOW TABLES;时,它会显示:

mysql> USE my_db;
Database changed
mysql> SHOW TABLES;
    Empty set (0.00 sec)

如果我有迁移创建users表,为什么数据库不显示单个表?

1 个答案:

答案 0 :(得分:1)

这可能看起来很愚蠢,但你是否已将MySQL导入rails应用程序?我相信它会自动为SQLite3设置。我开始时就遇到过这个问题,之后就把它删除了。它应该在database.yml文件中显示此信息。