Pregunta

Tengo un estándar de ejecución de la fábrica de Torres de alta tensión de la Pirámide de la aplicación, que utiliza SQLAlchemy para su base de datos de persistencia.

He instalado una SQLAlchemy a migrar repo y la tengan en funcionamiento, pero lo que realmente quiero tener la habilidad para usar el parche para actualizar y degradar la base de datos, o al menos alguna forma de tener el usuario (después de instalar el huevo) subir/bajar la versión de la base de datos a la versión necesaria.

Ya lo tengo incorporado en mi aplicación, de modo que, en aplicación de inicio se hace la actualización de la versión, pero prefiero ir con algo que el usuario explícitamente tiene que actualizar la base de datos para que sepan exactamente lo que está pasando, y saber para hacer copias de seguridad de antemano.

Cómo iba yo a eso?¿Cómo puedo agregar comandos a pegar?

La forma en que los usuarios configurar la aplicación es:

paste make-config appname production.ini
paste setup-app production.ini#appname

Para configurarlo por primera vez, para hacer la actualización de base de datos o actualización, en general, me gustaría que:

paste upgrade-app production.ini#appname

O algo a lo largo de esas líneas.

¿Fue útil?

Solución

Usted puede crear su propio parche de comandos, por ejemplo upgrade-app, y , a continuación, llamar desde cualquier lugar con paster --plugin=appname upgrade-app /path/to/production.ini appname.Usted puede referirse a cómo pirámide implementa la PShellCommand.

Otros consejos

No es exactamente lo que está buscando, pero una forma en que manejo esto es con Comandos de tela .Mi aplicación OSS Tengo un comando de tela que ejecuta que crea un archivo .ini para su aplicación y luego, después de ajustar el SQLALCHEMY.URL en él, ejecuta un comando de tela que las migraciones de SA de inicio y ejecuta la actualización.A partir de entonces, para actualizarlo, ejecute FAB DB_UPGRADE.

http://bmark.us/install.html

es un ejemplo de los documentos de instalación que he configurado.

https://github.com/mitechie/bookie/blob/Master / Fabfile / Database.py

es el conjunto de comandos específicos de DB disponibles a través de la interfaz de tela.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top