Update logger config
[pti/o2.git] / o2ims / adapter / clients / orm_stx.py
1 # Copyright (C) 2021 Wind River Systems, Inc.\r
2 #\r
3 #  Licensed under the Apache License, Version 2.0 (the "License");\r
4 #  you may not use this file except in compliance with the License.\r
5 #  You may obtain a copy of the License at\r
6 #\r
7 #      http://www.apache.org/licenses/LICENSE-2.0\r
8 #\r
9 #  Unless required by applicable law or agreed to in writing, software\r
10 #  distributed under the License is distributed on an "AS IS" BASIS,\r
11 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
12 #  See the License for the specific language governing permissions and\r
13 #  limitations under the License.\r
14 \r
15 # from datetime import datetime\r
16 from sqlalchemy import (\r
17     Table,\r
18     MetaData,\r
19     Column,\r
20     # Integer,\r
21     String,\r
22     # Date,\r
23     DateTime,\r
24     # engine,\r
25     # ForeignKey,\r
26     # event,\r
27     Enum\r
28 )\r
29 \r
30 from sqlalchemy.orm import mapper\r
31 # from sqlalchemy.sql.sqltypes import Integer\r
32 # from sqlalchemy.sql.expression import true\r
33 \r
34 from o2ims.domain import stx_object as ocloudModel\r
35 # from o2ims.adapter.orm import metadata\r
36 from o2ims.service.unit_of_work import AbstractUnitOfWork\r
37 from o2ims.adapter.unit_of_work import SqlAlchemyUnitOfWork\r
38 from o2ims.domain.resource_type import ResourceTypeEnum\r
39 \r
40 from o2common.helper import o2logging\r
41 logger = o2logging.get_logger(__name__)\r
42 \r
43 metadata = MetaData()\r
44 \r
45 stxobject = Table(\r
46     "stxcache",\r
47     metadata,\r
48     Column("id", String(255), primary_key=True),\r
49     Column("type", Enum(ResourceTypeEnum)),\r
50     Column("name", String(255)),\r
51     Column("updatetime", DateTime),\r
52     Column("createtime", DateTime),\r
53     Column("hash", String(255)),\r
54     Column("content", String)\r
55 )\r
56 \r
57 \r
58 def start_o2ims_stx_mappers(uow: AbstractUnitOfWork = SqlAlchemyUnitOfWork()):\r
59     logger.info("Starting O2 IMS Stx mappers")\r
60     mapper(ocloudModel.StxGenericModel, stxobject)\r
61 \r
62     with uow:\r
63         engine1 = uow.session.get_bind()\r
64         metadata.create_all(engine1)\r
65         uow.commit()\r