Wie erstelle ich eine im SQLalchemy-Schema definierte Tabelle auf dem Heroku-Server?
-
21-12-2019 - |
Frage
Ich habe eine sehr einfache App, die ich mit Python, SQLAlchemy, PostgreSQL und Turbogears 2.3 erstelle.
Die App funktioniert auf meinem lokalen Computer, auf dem ich SQLite verwende.Wenn ich es jedoch auf Heroku hochlade, weiß ich nicht, wie ich dort die PostgreSQL-Tabellen erstellen soll, die TurboGears2 zur Authentifizierung und Validierung verwendet:Tabellen wie Benutzer, Gruppen, Berechtigungen.
Ich sehe, dass das Schema in einer Datei namens definiert ist auth.py
das sieht so aus:
....
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
...
Meine Frage ist also, wie kann ich diese Tabellen automatisch auf dem Heroku-Server erstellen?Welchen Befehl oder welches Skript muss ich ausführen?
Bearbeiten:Dank der Antwort von JPub habe ich in den Dokumenten gelesen, wie man es von der Konsole aus macht:
$ gearbox setup-app -c production.ini
Und um es in Heroku zu tun, sollte es sein:
$ heroku run 'gearbox setup-app -c production.ini'
Lösung
Ich habe keine Erfahrung mit Turbogetrieben, aber beim Durchlesen der Dokumentation haben Sie zwei Möglichkeiten.
Direkte Erstellung:
http://turbogears.readthedocs.org/en/latest/turbogears/gearbox.html#setup-app
Schreiben Sie Ihre eigenen Migrationen:
http://turbogears.readthedocs.org/en/latest/turbogears/migrations.html