Estoy trabajando con bases de datos en mi script de compilación. Todos los detalles de la base de datos están en mi archivo de propiedades, pero me preguntaba cómo podría hacer que el usuario elija fácilmente qué conjunto de detalles usar. Estoy trabajando con Phing, pero como es muy similar a Ant, también aceptaré respuestas Ant.Elegir propiedades en los scripts de compilación Phing (y Ant)
Aquí es mi muestra 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
me gustaría ofrecer al usuario un simple indicador de generación para elegir qué base de datos utilizar. Supongamos que tengo una tarea de compilación para verificar un esquema de base de datos. Me gustaría ofrecer una bandera acumulación de este modo:
phing -Ddatabase=staging check-schema
que deben utilizar el db.staging * propiedades de los detalles de la conexión de base de datos.. ¿Cómo puedo lograr tal cosa?
impresionante! No sabía que las propiedades de anidación funcionaban (y encontré algunos informes de que no funcionaba, así que nunca lo intenté). En cuanto a la 'entrada', prefiero -D flags porque puedo hacer un script de nuevo desde el exterior (piense en conectar Phing en su precommitente de Git, por ejemplo). –