Pracuję z bazami danych w moim skrypcie kompilacji. Wszystkie szczegóły bazy danych znajdują się w moim pliku właściwości, ale zastanawiałem się, w jaki sposób mógłbym łatwo wybrać, który zestaw danych ma zostać użyty? Pracuję z Phingiem, ale ponieważ jest tak podobny do Anta, przyjmuję również odpowiedzi od Anta.Wybieranie właściwości skryptów kompilacji Phing (i Ant)
Oto mój przykładowy build.properties
:
# Connection details for the dev database
db.dev.hostname=localhost
db.dev.database=foo
db.dev.username=foo_user
db.dev.password=foo_password
# Connection details for the staging database
db.staging.hostname=some.remote.server
db.staging.database=bar
db.staging.username=bar_user
db.staging.password=bar_password
Chciałbym zaoferować użytkownikowi prosty build flagę na wybór bazy danych do wykorzystania. Załóżmy, że mam zadanie kompilacji, aby sprawdzić schemat bazy danych. Chciałbym zaoferować flagę kompilacji w następujący sposób:
phing -Ddatabase=staging check-schema
To powinno korzystać z właściwości db.staging. * Dla szczegółów połączenia z bazą danych. Jak mogę osiągnąć takie coś?
Awesome! Nie wiedziałem, że działały funkcje zagnieżdżania (i znalazłem kilka raportów, że to nie zadziałało, więc nigdy nie próbowałem). Jeśli chodzi o 'input', wolę flagi -D, ponieważ mogę skryptować to ponownie z zewnątrz (pomyśl o zahaczeniu Phinga na przykład o Git przed wprowadzeniem). –