2013-04-28 1 views
0

Я новичок в Ruby on Rails. Я использую учебники Lynda. У меня наконец есть приложение, работающее на Linux Box (используя MySQL вместо SQLite). Я пытаюсь сделать некоторые тесты локально в своей Mac OS X, но мне было интересно, что лучший способ загрузить мою базу данных и приложение на моем компьютере?Как перенести приложение Ruby on Rails, которое использует базу данных MySQL, на новый сервер?

Следует отметить, что мой друг, по-видимому, добавил исходные данные, используя сценарий, который называется «sql_db_data», и появляется в папке «Сценарий» моего приложения.

После этого я добавил больше данных с помощью Rails консоли ....

Из того, что я прочитал Есть много способов добавления данных в приложение рельсы и теперь я немного запутался. Я думал, что могу просто использовать rake db: schema: dump и запустить миграции, но это не будет содержать данные. Я не против потерять данные, которые я вставил через Rails Console, так как я мог бы снова вставить их в какой-то момент. Наверное, я пытаюсь выполнить контроль урона. Я считаю, что это лучший способ приблизиться к этому.

Я предполагаю, что у меня много неправильных представлений/недоразумений о том, как это должно работать, и снова я просто изучаю RoR, поэтому любая помощь более чем приветствуется.

ответ

0

rake db:schema:load Может использоваться в первый раз, когда вы хотите поместить информацию из существующего db в систему, поскольку она создает таблицы и столбцы в (существующей) базе данных, используя информацию от schema.rb.

+0

Итак, db: schema: dump (выгружает содержимое вашей базы данных в файл схемы), а db: schema: load (загружает файл схемы в базу данных)? – BluePython

+0

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

+0

Спасибо, что я смог выполнить db: schema: load, но это только создает для меня модели, точно так же, как если бы я выполнял миграцию правильно? К сожалению, мое приложение загружено, но данных нет. – BluePython

0

Также обратите внимание на драгоценный камень «краны», который позволяет вам выполнять независимые от БД свалки и грузы (Heroku db: push and db: pull use it).