Update watcher worker
[pti/o2.git] / o2ims / adapter / clients / orm_stx.py
index 4b825c4..b8c1523 100644 (file)
@@ -17,37 +17,50 @@ import logging
 \r
 from sqlalchemy import (\r
     Table,\r
-    MetaData,\r
+    MetaData,\r
     Column,\r
     # Integer,\r
     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.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
-metadata = MetaData()\r
+metadata = MetaData()\r
 \r
 stxobject = Table(\r
     "stxcache",\r
     metadata,\r
     Column("id", String(255), primary_key=True),\r
+    Column("type", Enum(ResourceTypeEnum)),\r
     Column("name", String(255)),\r
     Column("updatetime", DateTime),\r
     Column("createtime", DateTime),\r
-    Column("content", String(255))\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