Изглежда следното е вярно:
20120525005302_create_users.rbще се опита да създадеusersтаблица във вашата база данни.20120611000411_devise_create_users.rbсъщо ще се опита да създадеusersтаблица в базата данни.- В момента вашата база данни вече има
usersтаблица в нея, така че миграцията е неуспешна при втората миграция.
За да получите users таблица във вашата база данни, за да съответства правилно на 20120611000411_devise_create_users.rb миграция, можете да направите едно от двете неща:
- Върнете назад (или премахнете) базата данни и след това стартирайте миграциите отново. (Можете да изтриете
20120525005302_create_users.rbако е празен.) - Променете своя
20120611000411_devise_create_users.rbмиграция, за да премахнете всички съществуващиusersтаблица, преди да направите нещо друго. - Променете своя
20120611000411_devise_create_users.rbмиграция, както следва:- Вместо да създавате
usersтаблица, модифицирайте съществуващата таблица. - Добавете и модифицирайте компонентите на базата данни, за да съответстват
- Вместо да създавате
Като цяло, ако вашето приложение е в „състояние на младенец“, тогава повторното създаване на базата данни обикновено е бърз начин за изграждане на първоначалната структура на приложението. Ако обаче вече имате важни данни във вашите users таблица, ще искате да запазите това и да продължите, като промените 20120611000411_devise_create_users.rb миграция за промяна на базата данни без разрушаване.
Референции