Wygląda na to, że prawdą jest:
20120525005302_create_users.rbspróbuje utworzyćuserstabeli w Twojej bazie danych.20120611000411_devise_create_users.rbspróbuje również utworzyćuserstabeli w bazie danych.- Twoja baza danych ma już
usersw 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.rbjeśli jest pusty). - Zmodyfikuj plik
20120611000411_devise_create_users.rbmigracja w celu usunięcia wszystkich istniejącychusersprzed zrobieniem czegokolwiek innego. - Zmodyfikuj plik
20120611000411_devise_create_users.rbmigracja w następujący sposób:- Zamiast tworzyć
userstabeli, 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