2013-05-07 14 views
5

Mam folder z multimediami, który przechowuje wszystkie moje przesłane obrazy podczas programowania i przesyłam mój projekt django (1.5.1) do serwera dev na heroku. Wewnątrz folderu mediów mamHeroku usuwanie plików po naciśnięciu git?

media/ 
    # cache and images were commited before .gitignored was added 
    cache/ # store thumbnails 
    images/ # store images 
    .gitignore 

.gitignore ma

* 
!.gitignore 

Problemem jest to, ilekroć git push Heroku, wszystkie moje testów przesłane zostały wymazane przez git. Czy istnieje sposób, aby sobie z tym poradzić?

Odpowiedz

9

To nie jest problem z Git, ale raczej z Heroku. Heroku's file system jest efemeryczny i jest resetowany między uruchomieniami. Użyj usługi takiej jak Amazon S3 do przechowywania przesłanych plików.

+0

Nie jestem pewien, czy to pomoże mojemu problemowi. Nie chcę, aby nowe pliki na Heroku zostały wymazane. Nie obchodzi mnie, co jest w folderze mediów git. – Derek

+0

@Derek: To nie jest git, który je usuwa - Heroku ma efemeryczny system plików (pliki tymczasowe są usuwane między uruchomieniami). Użyj czegoś takiego jak S3 do stałego przechowywania plików. – mipadi

+2

@Derek mipadi ma rację. Wyjaśnię, w jaki sposób Heroku wykonuje swoje zadania. Tworzą nowy katalog, przeciągają go z git do tego nowego katalogu (to będzie twoja nowa wersja), a kiedy będzie gotów stawić czoła światu (cała praca została wykonana, konfigurując aplikację), to po prostu zmieni katalogi robocze dowiązanie symboliczne do nowego katalogu wydania. Jest to prawidłowy sposób działania powinien się zachowywać. Oznacza to jednak, że wszystkie pliki, które zostały przesłane i zapisane w starej wersji, nie będą dostępne dla nowej wersji. Użyj Amazon S3 do przechowywania przesłanych plików i śledź je w DB. – JoshEmory

Powiązane problemy