2015-10-21 6 views
1

Проблема
Rake Не Создание таблиц

rake db:migrate не создавать таблицы в моей базе данных MySQL. (Да, я прочитал все подобные сообщения и реализовали свои предложения, пожалуйста, продолжайте чтение.)

Код

database.yml:

default: &default 
    adapter: mysql2 
    encoding: utf8 
    pool: 5 
    username: root 
    password: 
    host: localhost 
    port: /tmp/mysql.sock 

development: 
    <<: *default 
    database: asreport 

линия от Gemfile (да, Я уже установил gem install'd):

gem 'mysql2', '~> 0.3.20' 

/appfile/db/migrate/create_ users.rb (я также пытался сделать второй линии «DEF вверх»):

class CreateUsers < ActiveRecord::Migration 
    def up 
    create_table :users do |t| 
     t.string :username 
     t.string :password 
     t.integer :usertype 
     t.string :salt 
     t.timestamps 
    end 
    end 
end 

После я бегу rake db:drop, rake db:create обновить, грабли БД: мигрировать --trace читает (после этого выхода, «шоу таблицы в MySQL все еще показывает только schema_migrations):

** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Invoke db:load_config (first_time) 
** Execute db:load_config 
** Execute db:migrate 
** Invoke db:_dump (first_time) 
** Execute db:_dump 
** Invoke db:schema:dump (first_time) 
** Invoke environment 
** Invoke db:load_config 
** Execute db:schema:dump 

что я Пробовал

Прежде всего, я знаю, что я подключаю к MySQL с помощью Ruby, в s db:drop create действительно создает базу данных, а не таблицу.

Я прочитал все соответствующие столбцы переполнения стека, которые я мог найти по этой проблеме. Я попытался откат, отбросив мою базу данных непосредственно на SQL и db:drop/create.

Я пробовал удалять и воссоздавать свой сценарий миграции.

Я запускать БД: мигрировать несколько раз (сам по себе и после db:drop/create's, rollback's, resets), но schema_migrations всегда имеет 0 записей и мой schema.rb файл на version: 0

+0

Что он делает при запуске Rake db: migrate? например, ничего не делает, что-то говорит, ошибки – zee

+0

Знаете ли вы, что пользователь, с которым вы подключаетесь, имеет привилегии для создания таблиц – zee

+0

Я вижу, что вы root, – zee

ответ

0

Вы не следующие соглашения об именовании, изложенные в. . Rails Guides

в частности, это:

2,1 Создание Отдельного миграции Migrat ионы хранятся в виде файлов в каталоге db/migrate, по одному для каждого класса миграции. Имя файл имеет форму YYYYMMDDHHMMSS_create_products.rb, то есть говорит отметку времени UTC, идентифицирующую миграцию, а затем знак подчеркивания , за которым следует имя миграции. Имя класса миграции (версия CamelCased) должно соответствовать последней части имени файла. Например, 20080906120000_create_products.rb должен определить класс CreateProducts и 20080906120001_add_details_to_products.rb должен определять AddDetailsToProducts.Rails использует эту временную метку, чтобы определить, какая миграция должна быть запущена и в каком порядке, поэтому, если вы копируете миграцию из другого приложения или создаете файл самостоятельно, укажите , указав свою позицию в заказе.

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

$ bin/rails generate migration AddPartNumberToProducts part_number:string 
+0

Бинго! Спасибо! –

Смежные вопросы