Come creare tabella definita nello schema SQLalchemy nel server Heroku?
-
21-12-2019 - |
Domanda
Ho un'app molto semplice che sto costruendo con Python, SQLalchemy, PostgreSQL e TurboGears 2.3.
L'app funziona nella mia macchina locale, dove uso SQLite.Tuttavia, quando lo carica su Heroku, non so come creare lì le tabelle PostgreSQL che TurboGears2 utilizza per l'autenticazione e la convalida: tabelle come Utente, Groups, Autorizzazioni.
Vedo lo schema è definito in un file chiamato auth.py
che sembra questo:
....
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
...
.
Quindi la mia domanda è come posso creare automaticamente queste tabelle nel server Heroku?Quale commmand o script devo eseguire?
Modifica: Grazie alla risposta di JPUB, ho letto sui documenti, come farlo dalla console:
$ gearbox setup-app -c production.ini
.
E per farlo in Heroku dovrebbe essere:
$ heroku run 'gearbox setup-app -c production.ini'
. Soluzione
Non ho alcuna esperienza con turbogenei, ma leggendo la documentazione che hai due opzioni.
Creazione diretta:
http://turbogogears.readthedocs.org/en/Ultimi / TurboGears / Gearbox.html # Setup-app
Scrivi le tue migrazioni:
http://turbogogears.readthedocs.org/en/latest/turbogjears/migrazioni.html