unitTest.py 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. from utils.rdbmsUtil.databaseUtil import DatabaseUtil
  2. from utils.rdbmsUtil.modelBase import Base
  3. from utils.rdbmsUtil.modelUser import User, user_factory # user_factory 确保工厂注册代码被执行
  4. from utils.rdbmsUtil.modelUserOperations import UserOperations
  5. # company_factory 确保工厂注册代码被执行
  6. from utils.rdbmsUtil.modelCompany import Company, company_factory
  7. from utils.rdbmsUtil.modelCompanyOperations import CompanyOperations
  8. db = DatabaseUtil('sqlite:///mydatabase.db')
  9. Base.metadata.create_all(db.engine)
  10. companys = [Company(id=1, name="DS-Tech"), Company(id=2, name="ZN-Tech")]
  11. users = [User(name="Alice", age=31, companyid=1),
  12. User(name="Bob", age=25, companyid=2)]
  13. with db.session_scope() as session:
  14. company_ops = CompanyOperations()
  15. user_ops = UserOperations()
  16. company_ops.upsert_companys(session, companys)
  17. user_ops.upsert_users(session, users)
  18. # session.flush() # 确保所有的 SQL 操作都被推送到数据库
  19. user_ops.update(session, name="Alice", age=32)
  20. result = user_ops.get_user(session, name="Alice", age=32)
  21. for user in result:
  22. print(user)