rake db:migrate什么都不做

时间:2014-03-27 11:37:25

标签: ruby-on-rails ruby rake

我跟着这个tutorial, 我在运行rake db:migrate

时遇到了问题

db/migrate我有create_post.rb文件:

class CreatePosts < ActiveRecord::Migration
  def change
    create_table :posts do |t|
      t.string :title
      t.text :text
      t.timestamps
    end
  end
end

但它不会创建表格。 我的database.yml文件是:

development:
 adapter: mysql2
 encoding: utf8
 database: blog_development
 pool: 5
 username: root
 password:
 socket: /tmp/mysql.sock

rake db:migrate的输出似乎没问题。

我使用phpMyAdmin来处理数据库,这是我手动正确创建的。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

如果你连接到正确的数据库,一切对我来说似乎都很好。几周前我遇到了类似的问题,this问题的接受答案解决了我的问题。

以下是要运行的步骤:

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

我希望它能解决你的问题。

答案 1 :(得分:0)

你能告诉你哪个操作系统? 删除该行:

 socket: /tmp/mysql.sock

并运行:

db:migrate

输出:

db:migrate:status

如果这对您不起作用,您还可以尝试添加:

host: 127.0.0.1

database.yml 文件

答案 2 :(得分:0)

如果上述方法均无效,请检查您的schema.rb中的迁移内容。如果迁移内容已经存在,则只需在生产环境中执行以下命令即可:

使用db:schema:load RAILS_ENV = production。