Wygląda na to, że prawdą jest:
20120525005302_create_users.rb
spróbuje utworzyćusers
tabeli w Twojej bazie danych.20120611000411_devise_create_users.rb
spróbuje również utworzyćusers
tabeli w bazie danych.- Twoja baza danych ma już
users
w nim tabeli, więc migracja nie powiedzie się podczas drugiej migracji.
Aby uzyskać users
tabela w Twojej bazie danych, aby poprawnie odpowiadała 20120611000411_devise_create_users.rb
migracji, możesz zrobić jedną z dwóch rzeczy:
- Wycofaj (lub usuń) bazę danych, a następnie ponownie uruchom migracje. (Możesz usunąć
20120525005302_create_users.rb
jeśli jest pusty). - Zmodyfikuj plik
20120611000411_devise_create_users.rb
migracja w celu usunięcia wszystkich istniejącychusers
przed zrobieniem czegokolwiek innego. - Zmodyfikuj plik
20120611000411_devise_create_users.rb
migracja w następujący sposób:- Zamiast tworzyć
users
tabeli, zmodyfikuj istniejącą tabelę. - Dodaj i modyfikuj komponenty bazy danych, aby odpowiadały
- Zamiast tworzyć
Ogólnie rzecz biorąc, jeśli aplikacja jest w „stanie początkowym”, ponowne utworzenie bazy danych jest zwykle szybkim sposobem na zbudowanie początkowej struktury aplikacji. Jeśli jednak masz już ważne dane w swoich users
tabeli, zachowaj ją i kontynuuj, modyfikując 20120611000411_devise_create_users.rb
migracja w celu nieniszczącej zmiany bazy danych.
Referencje