2016-06-13 4 views
0

Я готов создать новую модель, т.е. новую таблицу для моего приложения. У меня уже есть таблица, существующая для моего приложения, и я хочу создать новую. Но я столкнулся с проблемой при запуске команды rake db:migrate после выполнения следующей команды для создания новой таблицы.Проблема миграции в рельсах

rails g model information age:string name:string

во время работы rake db:migrate команды система показывает следующее сообщение об ошибке:

не знает, как построить целевую БД: мигрировать

И никакой таблицы не создаются, в конечном счете. Я использую Postgresql.

Миграция генерируется как:

class CreateInformation < ActiveRecord::Migration 
def change 
    create_table :information do |t| 
    t.string :age 
    t.string :name 

    t.timestamps null: false 
    end 
end 
end 

И никаких изменений в файле schema.rb.

+0

Вы пытаетесь создать модель или миграцию? – Kumar

+0

Правильно ли установлен Rails, и вы используете 'rake' из каталога приложений? –

+0

Я пытаюсь создать модель. Мне нужно создать новую таблицу.Вот почему я пытаюсь создать новую модель. После этого я запускал команду rake db: migrate, потому что я не вижу никакой таблицы, созданной заново в моем pgadmin – Abhradip

ответ

0

Чтобы создать модель, вам необходимо написать model после rails g. Убедитесь, что вы находитесь в папке с папками с рельсами. Если у вас есть существующая таблица с тем же именем, вы можете сначала избавиться от нее, отбросив ее. Затем создайте снова.

rails g model Information age name 
#age and name will be string by default, so you can omit writing string 
+0

извините, что я запустил ее правильно. Но здесь это ошибка редактирования. – Abhradip

+0

У вас есть существующая таблица с именем 'informations'? – Kumar

+0

Вы видите 'db: migrate', когда вы запускаете' rake -T' в своей консоли, внутри вашего каталога приложений rails? – Kumar

0

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

rails g information age:string name:string 

если вы создаете модель должна быть

rails g model Information age:string name:string 

Я должен быть капитал (читай Rails Conventions) , и если вы пытаетесь создать миграцию, то это должно быть

rails g migration information age:string name:string 

, а затем вы запускаете rake db: migrate, чтобы запустить его.

0

Вы используете рейки5? You ошибка заключается в следующем:

не знаю, как построить целевую БД: мигрировать

Для рельсов 5 нет ни одного рейк задач (изменено на рельсах) Вы должны сделать

bin/rails db:migrate 
Смежные вопросы