[Python] PonyORM MappingError: Database object is not bound with a provider yet

Discussão em 'Python' iniciado por Stack, Fevereiro 2, 2025.

  1. Stack

    Stack Membro Participativo

    Python 3.11, pony 0.7.17: I run my PonyORM setup code in this __init __.py

    from pony import orm

    db = orm.Database()


    def startup_database():
    db.bind(
    provider="postgres",
    user="...",
    password="...",
    host="localhost",
    database="...",
    port="5432",
    )
    orm.sql_debug(True)


    def main():
    startup_database() # If you have another methods, THIS LINE SHOULD BE THE LAST ONE


    if __name__ == "__main__":
    main()


    Then a User Entity is defined in another user.py module like this:

    from pony.orm import *


    db = Database()


    class User(db.Entity):
    firstname = Required(str)
    lastname = Required(str)
    email = Required(str)
    ...


    db.generate_mapping(create_tables=True)


    However, running that code gives me this error: pony.orm.core.MappingError: Database object is not bound with a provider yet

    initiated by the user.py > db.generate_mapping(create_tables=True) but binding already happened in the __init __.py > startup_database() function - right?

    Continue reading...

Compartilhe esta Página