1
0
mirror of https://github.com/altlinux/gpupdate.git synced 2025-03-21 18:50:38 +03:00

Merge branch 'support_for_SQLAlchemy2_in_storage'

This commit is contained in:
Valery Sinelnikov 2023-06-15 10:25:31 +04:00
commit bb55c38e21
2 changed files with 21 additions and 19 deletions

View File

@ -29,8 +29,8 @@ from sqlalchemy import (
MetaData
)
from sqlalchemy.orm import (
mapper,
sessionmaker
sessionmaker,
registry as registry_alch
)
from util.logging import log
@ -55,7 +55,7 @@ class sqlite_cache(cache):
logdata = dict({'cache_file': self.storage_uri})
log('D20', logdata)
self.db_cnt = create_engine(self.storage_uri, echo=False)
self.__metadata = MetaData(self.db_cnt)
self.__metadata = MetaData()
self.cache_table = Table(
self.cache_name,
self.__metadata,
@ -67,7 +67,8 @@ class sqlite_cache(cache):
self.__metadata.create_all(self.db_cnt)
Session = sessionmaker(bind=self.db_cnt)
self.db_session = Session()
mapper(self.mapper_obj, self.cache_table)
mapper_reg = registry_alch()
mapper_reg.map_imperatively(self.mapper_obj, self.cache_table)
def store(self, str_id, value):
obj = self.mapper_obj(str_id, value)

View File

@ -28,8 +28,8 @@ from sqlalchemy import (
UniqueConstraint
)
from sqlalchemy.orm import (
mapper,
sessionmaker
sessionmaker,
registry as registry_alch
)
from util.logging import log
@ -58,7 +58,7 @@ class sqlite_registry(registry):
cdir = cache_dir()
self.db_path = os.path.join('sqlite:///{}/{}.sqlite'.format(cdir, self.db_name))
self.db_cnt = create_engine(self.db_path, echo=False)
self.__metadata = MetaData(self.db_cnt)
self.__metadata = MetaData()
self.__info = Table(
'info',
self.__metadata,
@ -213,19 +213,20 @@ class sqlite_registry(registry):
self.__metadata.create_all(self.db_cnt)
Session = sessionmaker(bind=self.db_cnt)
self.db_session = Session()
mapper_reg = registry_alch()
try:
mapper(info_entry, self.__info)
mapper(samba_preg, self.__hklm)
mapper(samba_hkcu_preg, self.__hkcu)
mapper(ad_shortcut, self.__shortcuts)
mapper(printer_entry, self.__printers)
mapper(drive_entry, self.__drives)
mapper(folder_entry, self.__folders)
mapper(envvar_entry, self.__envvars)
mapper(script_entry, self.__scripts)
mapper(file_entry, self.__files)
mapper(ini_entry, self.__ini)
mapper(networkshare_entry, self.__networkshare)
mapper_reg.map_imperatively(info_entry, self.__info)
mapper_reg.map_imperatively(samba_preg, self.__hklm)
mapper_reg.map_imperatively(samba_hkcu_preg, self.__hkcu)
mapper_reg.map_imperatively(ad_shortcut, self.__shortcuts)
mapper_reg.map_imperatively(printer_entry, self.__printers)
mapper_reg.map_imperatively(drive_entry, self.__drives)
mapper_reg.map_imperatively(folder_entry, self.__folders)
mapper_reg.map_imperatively(envvar_entry, self.__envvars)
mapper_reg.map_imperatively(script_entry, self.__scripts)
mapper_reg.map_imperatively(file_entry, self.__files)
mapper_reg.map_imperatively(ini_entry, self.__ini)
mapper_reg.map_imperatively(networkshare_entry, self.__networkshare)
except:
pass
#logging.error('Error creating mapper')