Ruby, Rake, Mysql - создание базы данных

0

Как это сделать? Я попробовал что-то вроде:

RAILS_ENV=production rake db:create db:load

в файле /lib/tasks/load_tasks.rake, и этот файл я пытался использовать в терминале как rake db:migrate, но я получаю ошибки в синтаксисе и т.д.

Я ввел в терминал эту команду (я видел ее в учебнике):

rails generate scaffold Account user_name:string description:text premium:boolean \
      income:integer ranking:float fee:decimal birthday:date login_time:time

И это сделало мне файл 20110518181941_create_accounts.rb

Как я могу создать таблицу базы данных - я думал, что приведенная выше команда создаст мне базу данных в mysql... Я сейчас немного запутан, что делать?

Какое правило здесь играет rake db:migrate?

  • 0
    да, и я получаю сообщение об ошибке: pastebin.com/xNFmvjZm Но я не знаю, что не так ...: /
Теги:
database
rake

1 ответ

2
Лучший ответ

Я думаю, что вы получаете эту ошибку, потому что ваш синтаксис неверен, поставьте && между предложениями:

RAILS_ENV=production rake db:create && db:schema:load

или сделать это в выделенных строках

RAILS_ENV=production rake db:create
RAILS_ENV=production rake db:schema:load

первая команда создаст базу данных, вторая команда загрузит файл db/schema.rb в базу данных

И, наконец, вам нужно выполнить миграцию:

RAILS_ENV=production rake db:migrate

чтобы создать таблицу учетных записей.

BTW, если вы запустите:

rake -T

вы можете увидеть список задач рейка и их описания.

Надеюсь, что это поможет.

  • 0
    Большое спасибо за ваш ответ JCorcuera. Я пытался отредактировать свой код под вашими подсказками, но я получаю сообщение об ошибке синтаксиса - pastebin.com/2gyd6NNH . Стрелка показывает место, где проблема - я скопировал ошибку с терминала
  • 0
    Я думаю, что вы делаете db: load, но db: schema: load; и коммандит грабли -T не -t
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню