¿Cómo crear una tabla definida en el esquema de SQlalchemy en el servidor Heroku?
-
21-12-2019 - |
Pregunta
Tengo una aplicación muy simple que estoy construyendo con Python, Sqlalchemy, PostgreSQL y Turbogears 2.3.
La aplicación funciona en mi máquina local, donde uso SQLite.Sin embargo, cuando lo subo a Heroku, no sé cómo crear allí las tablas PostgreSQL que TurbogEars2 usos para la autenticación y la validación: Tablas como Usuario, Grubups, Permisos.
Veo que el esquema se define en un archivo llamado auth.py
que se ve así:
....
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
...
Entonces, mi pregunta es ¿cómo puedo crear estas tablas automáticamente en el servidor Heroku?¿Qué commmand o script tengo que ejecutar?
Editar: Gracias a la respuesta de JPUB, leí en los documentos, cómo hacerlo desde la consola:
$ gearbox setup-app -c production.ini
y para hacerlo en Heroku debería ser:
$ heroku run 'gearbox setup-app -c production.ini'
Solución
No tengo ninguna experiencia con turbógenos, pero leer a través de la documentación que tiene dos opciones.
Creación directa:
escribiendo tus propias migraciones:
http://turbogears.readthedocs.org/en/latest/turbogears/migrations.html