db_orm.py 901 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import sys
  2. import os
  3. from pony.orm import (
  4. Database,
  5. PrimaryKey,
  6. Required,
  7. db_session as session
  8. )
  9. _is_pypy = hasattr(sys, "pypy_version_info")
  10. if _is_pypy:
  11. from psycopg2cffi import compat
  12. compat.register()
  13. db = Database()
  14. db.bind(
  15. provider="postgres",
  16. host="tfb-database",
  17. port=5432,
  18. user=os.getenv("PGUSER", "benchmarkdbuser"),
  19. password=os.getenv("PSPASS", "benchmarkdbpass"),
  20. database="hello_world",
  21. )
  22. class World(db.Entity):
  23. _table_ = "world"
  24. id = PrimaryKey(int)
  25. randomNumber = Required(int, column="randomnumber")
  26. def to_dict(self):
  27. """Return object data in easily serializeable format"""
  28. return {"id": self.id, "randomNumber": self.randomNumber}
  29. class Fortune(db.Entity):
  30. _table_ = "fortune"
  31. id = PrimaryKey(int, auto=True)
  32. message = Required(str)
  33. db.generate_mapping(create_tables=False)