Nie jestem pewien, czy rozumiem wykonanie warunkowe szefa kuchni.Zrozumienie szefa kuchni tylko_if not_if
Chciałbym zrobić kilka wykonanie warunkowego na podstawie tego, czy baza danych istnieje w PostgreSQL
Więc oto mój przykład
execute "add_db" do
cwd "/tmp"
user "dbuser"
command "createdb -T template_postgis mydb"
not_if 'psql --list|grep mydb'
end
Bieg psql --list|grep mydb
powrócić czego można się spodziewać, jeśli db istnieje (wiersz z wpisem dbname) i nic w ogóle, jeśli nie robi.
Jak to się dzieje? Prawda czy fałsz? 1 lub 0? Czy wszystkie procesy zwracają 0, jeśli są skuteczne?
Wszelkie porady są mile widziane!
Moja sytuacja była trochę różna, więc zostawię notatkę tutaj dla przyszłych użytkowników w podobnej sytuacji, którzy wylądowali tutaj. Powiedzmy, że masz atrybut 'node ['myattr'] = true', a następnie jeśli napiszesz' only_if node ['myattr'] ', szef będzie narzekał. Odkryłem, że należy dołączyć instrukcję w nawiasach klamrowych, tj. 'only_if {node ['myattr']}' – apatrick