Aktualizacja do nowszej wersji deweloperskiej modułu za pomocą Drush (ignorowanie wersji punktowych / zalecanych, bez kontroli wersji)

20

[NB To pytanie jest od tyłu, ale oddzielenie / dalej, wcześniejsze pytanie moje, tutaj .]

Korzystam z Drusha już od dłuższego czasu, ale co jakiś czas mam kłopoty. W tej chwili naprawdę nie jestem pewien, jak sobie z tym poradzić.

Scenariusz: obecnie strona korzysta z wersji deweloperskiej, datowanej w przeszłości. W międzyczasie nie powstało wydanie punktowe, ale nowsza wersja deweloperska. Mamy więc coś takiego:

Reroute Email           6.x-1.x-dev (2010-Sep-27)
Recommended version:    6.x-1.0 (2008-Jul-24)   
Development version:    6.x-1.x-dev (2011-Feb-25) 

Wykonanie drush dl <module>-6.x-1.x-devspowoduje zastąpienie istniejącego katalogu najnowszą wersją deweloperską 1.x. W porządku, ale niszczy folder .svn.

Jeśli to zrobię drush upc <module>, pobierze punkt wydania (patrz edycja poniżej), czego nie chcę, ale jeśli to zrobię drush upc <module>-6.x-1.x-dev, po prostu odświeży dane aktualizacji, a następnie powie mi „Określona wersja już zainstalowana” w odpowiednim wierszu na wynik.

Więc jak użyć drush, aby zastąpić starą wersję deweloperską, umieszczając nową na swoim miejscu, bez niszczenia folderu SVN?

EDYCJA: Właściwie w tym przypadku drush upc <module>pobiera poprawną wersję, ale jestem prawie pewien, że wydanie punktowe miało datę 6.x-1.0 (2011-24 stycznia), to by je otrzymało. Ktoś chce wyjaśnić / poprawić?

NikLP
źródło

Odpowiedzi:

9

Właśnie znalazłem twoje pytanie, ponieważ miałem dokładnie to samo pytanie. Nie znalazłem dokładnej odpowiedzi, ale zadziałało to dla mnie:

#svn rm <module>  
#svn commit -m"removing the module... whatever you want to write"  
#drush dl <module>-6.x-2.x-dev  
#svn add <module>  

Z jakiegoś powodu nie wykonanie zatwierdzenia między rm a dl spowodowało problem z svn. Nie wiem wystarczająco dużo o svn, aby wiedzieć, dlaczego, ale byłbym wdzięczny, gdyby ktoś mógł opracować!

deszczowa
źródło
Cześć @rainbreaw, być może odpowiedź na moje inne Q tutaj może się przydać?
NikLP
7

Spróbować drush dl module-6.x-1.x-dev --svnsync.

forsythes
źródło
Może to wkrótce ulec amortyzacji drushzgodnie z GH # 1056 .
kenorb
2

Mogą istnieć pewne zadania instalacyjne, których nowa wersja modułu potrzebuje do poprawnego działania, na przykład jeśli wersja deweloperska ma inny schemat.

Więc zanim drush dl module-7.x.2.x spojrzysz na odinstaluj i zainstaluj szczegóły w module.

Uważaj, jeśli masz dane, których nie chcesz utracić w zaangażowanych tabelach db. Zrób kopię zapasową, jeśli jesteś zmartwiony lub niepewny.

W razie potrzeby wyłącz i odinstaluj moduł przed pobraniem i włączeniem nowego modułu.

Użyj drush dis, a następnie drush pm-uninstall

chim
źródło
1
Odinstalowanie modułu może również spowodować odrzucenie wszystkich danych zapisanych w bazie danych. Czy skrypt update.php nie powinien obsługiwać żadnych zmian schematu między wersjami?
Tony Patrinos
To dobra uwaga, zmienię moją odpowiedź
chim