2009-10-20 16 views
11

Udało mi się wdrożyć moją aplikację do produkcji za pomocą Capistrano, ale nie rozumiem, jak sobie z nią radzić. Używam subversion i pasażera.Baza danych deponentów Capistrano Deploy?

Po uruchomieniu cap, nowe wdrożenie rozpoczyna wszystko od nowa. Usuwa dane, które zostały dodane do bazy danych. Oczywiście, musi istnieć rozwiązanie, ale jestem bardzo zaskoczony, że nie znajduję nic online na temat tego, jak sobie z tym poradzić. Przeczytałem dokumentację Capistrano i wiele samouczków.

Najlepsze, co mogę znaleźć, to książki z przepisami Advanced Rails, w których mówi się o umieszczaniu treści użytkowników w katalogu współdzielonym, ale nie jest to dokładnie kwestia punktu.

W jaki sposób radzisz sobie z bazą danych podczas wdrażania z Capistrano?

+0

Jaka jest twoja baza danych? SQLite? –

Odpowiedz

24

Jest szansa, że ​​używasz SQLite i zachowujesz bazę danych w domyślnej lokalizacji. Twoja baza danych nie jest usuwana, a pozostałe po prostu pozostają.

Musisz edytować plik database.yml i nakazać przechowywanie produkcyjnej bazy danych we współużytkowanej lokalizacji "../../shared/database.yml" lub podobnej (może być lepiej używać bezwzględnej ścieżki, lub dla punktów bonusowych MySQL).

Po wdrożeniu za pośrednictwem Capistrano tworzy nową kopię aplikacji w katalogu z sygnaturami czasowymi. Twoja baza danych jest pozostawiona w starym sygnale czasowym reż.

+0

Ah! Ok, tak, miałem zamiar przełączyć się na mysql, ale używałem sqlite do programowania i wdrożyłem po raz pierwszy z sqlite. Wygląda na to, że czas przejść na mysql. Dzięki. – MikeH

+0

Przełączono na mysql i wszystko działa świetnie. To był problem. – MikeH

+0

Dobre rzeczy! Dzięki za zaakceptowanie! – cwninja

Powiązane problemy