Comment créer une table définie dans le schéma sqlalchemy sur le serveur Heroku ?
-
21-12-2019 - |
Question
J'ai une application très simple que je construis avec Python, SQLAlchemy, PostgreSQL et Turbogears 2.3.
L'application fonctionne sur ma machine locale, sur laquelle j'utilise SQLite.Cependant, lorsque je le télécharge sur Heroku, je ne sais pas comment y créer les tables PostgreSQL que TurboGears2 utilise pour l'authentification et la validation :des tables comme Utilisateur, Groupes, Autorisations.
Je vois que le schéma est défini dans un fichier appelé auth.py
qui ressemble à ceci :
....
from sqlalchemy import Table, ForeignKey, Column
from sqlalchemy.types import Unicode, Integer, DateTime
from sqlalchemy.orm import relation, synonym
from example2.model import DeclarativeBase, metadata, DBSession
class User(DeclarativeBase):
__tablename__ = 'tg_user'
user_id = Column(Integer, autoincrement=True, primary_key=True)
user_name = Column(Unicode(16), unique=True, nullable=False)
email_address = Column(Unicode(255), unique=True, nullable=False)
display_name = Column(Unicode(255))
_password = Column('password', Unicode(128))
created = Column(DateTime, default=datetime.now)
def __repr__(self):
return '<User: name=%s, email=%s, display=%s>' % (
repr(self.user_name), repr(self.email_address), repr(self.display_name))
def __unicode__(self):
return self.display_name or self.user_name
...
Ma question est donc la suivante : comment puis-je créer ces tables automatiquement sur le serveur Heroku ?Quelle commande ou quel script dois-je exécuter ?
Modifier:Grâce à la réponse de JPub, j'ai lu sur la doc, comment le faire depuis la console :
$ gearbox setup-app -c production.ini
Et pour le faire dans Heroku, cela devrait être :
$ heroku run 'gearbox setup-app -c production.ini'
La solution
Je n'ai aucune expérience avec les turboengrenages, mais en lisant la documentation, vous avez deux options.
Création directe :
http://turbogears.readthedocs.org/en/latest/turbogears/gearbox.html#setup-app
Écrire vos propres migrations :
http://turbogears.readthedocs.org/en/latest/turbogears/migrations.html