Potrzebuje zrobić z automatu(skryptu) migrację bazy (rake db:migrate). Aby skrypt był uniwersalny chciałbym
aby nie musiał być uruchamiany z katalogu projektu tylko z dowolnego miejsca.
Znalazłem przy rake opcję -f dzięki ktorej podaje położenie pliku Rakefile,
rake db:migrate -f /home/user/aplikacja/Rakefile
Takie wywołanie nie zgłasza błędów ale też nie wykonuje migracji.
Jak inaczej to rozwiązać aby wykonywać migrację skryptem z dowolnego miejsca na serwerze?
Nie bardzo wiem dlaczego potrzebujesz uniwersalności, żeby to można było odpalać wszędzie. Pewnie masz swoje powody. Mi się jednak wydaje, że skoro skrypt dotyczy projektu i migracja też go dotyczy, to ja bym zrobił to w projekcie, jako generator
Chciałem jednym skryptem robić wrzucanie na serwer plików, migracje, restart aplikacji itp.
Próbowałem capistrano ale nie bardzo mi przypadło go gustu. Już wszystko mam tylko jeszcze te migracje.
[quote=bober0]Chciałem jednym skryptem robić wrzucanie na serwer plików, migracje, restart aplikacji itp.
Próbowałem capistrano ale nie bardzo mi przypadło go gustu. Już wszystko mam tylko jeszcze te migracje.[/quote]
Moja teoria:
To co opisujesz robi właśnie Capistrano i - z moich doświadczeń - robi to świetnie. Co Ci w nim nie odpowiada?
Moje pytanie nie było na temat wyższości używania Capistrano nad nie używaniem, tylko na temat odpalenia rake, na przykład z migracją,
z innego katalogu.
Też uważam, że lepiej ustawić capistrano, ale jak już musisz, to jest opcja -f (rake -f path/to/Rakefile), zobacz też rake --help, może okazać się pomocne.