Fix client issue
[pti/o2.git] / o2ims / adapter / clients / orm_stx.py
index 02f9bec..b8c1523 100644 (file)
@@ -23,14 +23,21 @@ from sqlalchemy import (
     String,\r
     # Date,\r
     DateTime,\r
+    # engine,\r
     # ForeignKey,\r
     # event,\r
+    Enum\r
 )\r
 \r
 from sqlalchemy.orm import mapper\r
+# from sqlalchemy.sql.sqltypes import Integer\r
 # from sqlalchemy.sql.expression import true\r
 \r
 from o2ims.domain import stx_object as ocloudModel\r
+# from o2ims.adapter.orm import metadata\r
+from o2ims.service.unit_of_work import AbstractUnitOfWork\r
+from o2ims.adapter.unit_of_work import SqlAlchemyUnitOfWork\r
+from o2ims.domain.resource_type import ResourceTypeEnum\r
 \r
 logger = logging.getLogger(__name__)\r
 \r
@@ -40,12 +47,20 @@ stxobject = Table(
     "stxcache",\r
     metadata,\r
     Column("id", String(255), primary_key=True),\r
+    Column("type", Enum(ResourceTypeEnum)),\r
     Column("name", String(255)),\r
-    Column("lastupdate", DateTime),\r
-    Column("content", String(255))\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+    Column("hash", String(255)),\r
+    Column("content", String)\r
 )\r
 \r
 \r
-def start_o2ims_stx_mappers():\r
+def start_o2ims_stx_mappers(uow: AbstractUnitOfWork = SqlAlchemyUnitOfWork()):\r
     logger.info("Starting O2 IMS Stx mappers")\r
     mapper(ocloudModel.StxGenericModel, stxobject)\r
+\r
+    with uow:\r
+        engine1 = uow.session.get_bind()\r
+        metadata.create_all(engine1)\r
+        uow.commit()\r