Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

381
Vistas
Peewee y postgres en heroku, no se puede crear una tabla

Probé sin la base de datos, mi aplicación funciona muy bien, pero con peewee y postgres, no es capaz de crear ninguna tabla.

mi aplicación

Probé diferentes métodos publicados en línea, pero no funciona, cualquiera que haya usado peewee en heroku, por favor, ayuda.

Mi modelo.py

 if os.environ.get('DATABASE_URL'): DATABASE_URL = os.environ.get('DATABASE_URL') db = urlparse(DATABASE_URL) user = db.username password = db.password path = db.path[1:] host = db.hostname port = db.port database = PostgresqlDatabase(path, user=user, password=password, host=host, port=port) else: database = PostgresqlDatabase('heroku') class BaseModel(Model): class Meta: database = database class User(BaseModel): name = CharField() email = CharField(null=False, unique=True)

Después de mover la tabla de creación de la instrucción if a la tabla de funciones de bienvenida, se crea.

 @app.route('/') def welcome(): call('printenv') a = 'Default' b = 'Default' if os.environ.get('DATABASE_URL'): a = os.environ.get('DATABASE_URL') if os.environ.get('HEROKU'): b = os.environ.get('HEROKU') create_model_tables([Users], fail_silently=True) Users.insert(name='John', email='Doe').execute() return render_template('index.html', a=a, b=b) if __name__ == '__main__': app.run(port=5000, debug=True)
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

"usuario" es una tabla reservada; intente:

 class User(Model): ... class Meta: db_table = 'users'
over 4 years ago · Santiago Trujillo Denunciar

0

from playhouse.db_url import connect import settings local_url = 'postgresql://{}:{}@localhost:5432/{}'.format(settings.DB_USER, settings.DB_PASS, settings.DB_NAME) database = connect(os.environ.get('DATABASE_URL') or local_url) class BaseModel(Model): class Meta: database = database

Úselo de esta manera, es fácil y hay muy pocas posibilidades de equivocarse.

Y debe crear una tabla antes if __name__ == '__main__: , esta declaración, porque en heroku proporciona configuraciones tales que, cualquier cosa debajo de eso no funcionará.

Como el mío uswgi.ini

 [uwsgi] http-socket = :$(PORT) master = true die-on-term = true module = app:app memory-report = true

module = app:app significa ejecutar la aplicación desde app.py no ejecutar app.py

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda