Изглежда следното е вярно:
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
миграция за промяна на базата данни без разрушаване.
Референции