Грабли дб: мигрировать ничего не делает

Я следую этому уроку, и у меня возникают проблемы при запуске 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

Выход из граблей db:migrate кажется в порядке.

я использую phpMyAdmin обрабатывать базу данных, которая правильно создана мной вручную.

Что я делаю неправильно?

3 ответа

Решение

Если вы подключаетесь к нужной базе данных, мне кажется, что все в порядке... У меня была похожая проблема несколько недель назад, и принятый ответ на этот вопрос решил мою проблему.

Вот шаги для запуска:

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

Я надеюсь, что это решит вашу проблему.

Подскажите, пожалуйста, какая у вас ОС? Удалить строку:

 socket: /tmp/mysql.sock

и запустить:

db:migrate

Дайте вывод:

db:migrate:status

Если это не работает для вас, вы также можете попробовать добавить:

host: 127.0.0.1

в ваш файл database.yml

Если ничего из вышеперечисленного не работает, проверьте ваш файл schema.rb на наличие переносимого содержимого. Если содержимое миграции уже существует, просто выполните следующую команду в рабочей среде:

рельсы db: схема: загрузка RAILS_ENV= производство.

Другие вопросы по тегам