Question

J'ai une norme de course de l'usine de Pylônes Pyramide de l'application, qui utilise SQLAlchemy pour sa base de données de persistance.

J'ai mis en place un SQLAlchemy-migrer les pensions et les titres ont il fonctionne, mais je veux vraiment avoir la capacité d'utiliser l'emplâtre à la mise à niveau et d'une décote de la base de données, ou au moins un moyen d'avoir l'utilisateur (après l'installation de l'œuf) mise à niveau ou l'abaissement de la base de données à la version requise.

Je l'ai intégré dans mon application, de sorte que lors de l'application de démarrage il fait la mise à niveau de version, mais je préfère aller avec quelque chose où l'utilisateur a explicitement pour mettre à niveau la base de données afin qu'ils sachent exactement ce qui se passe, et de savoir pour faire des sauvegardes à l'avance.

Comment pourrais-je aller à ce sujet?Comment puis-je ajouter des commandes à coller?

La façon dont les utilisateurs de paramétrer l'application est:

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

Pour configurer la première fois, de faire de la base de données de mise à niveau ou la mise à niveau en général, je voudrais:

paste upgrade-app production.ini#appname

Ou quelque chose le long de ces lignes.

Était-ce utile?

La solution

Vous pouvez créer votre propre paster de commande, par ex. upgrade-app, et puis l'appeler de n'importe où avec paster --plugin=appname upgrade-app /path/to/production.ini appname.Vous pouvez vous référer à comment pyramide met en œuvre la PShellCommand.

Autres conseils

Ce n'est pas tout à fait ce que vous cherchez, mais à une manière que je gère cela est avec Tissu commandes.My OSSP APP J'ai une commande de tissu que vous exécutez qui crée un fichier .ini pour votre application, puis, après avoir réglé le SQLALCHEMY.URL.À partir de là, pour mettre à niveau vous exécutez Fab db_upgrade.

http://bmark.us/install.html

est un exemple des documents d'installation que j'ai configurés.

https://github.com/mitechie/bookie/blob/maître / fabfile / base de données.py

est l'ensemble des commandes spécifiques à DB disponibles via l'interface de tissu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top