def _init_version_info_model(self): # type: () -> None session = self.scoped_session() version_info = models.VersionInfoModel.find(session) if version_info is not None: return version_info = models.VersionInfoModel( schema_version=models.SCHEMA_VERSION, library_version=version.__version__) session.add(version_info) RDBStorage._commit_with_integrity_check(session)
def _init_version_info_model(self): # type: () -> None session = self.scoped_session() version_info = models.VersionInfoModel.find(session) if version_info is not None: # Terminate transaction explicitly to avoid connection timeout during transaction. RDBStorage._commit(session) return version_info = models.VersionInfoModel( schema_version=models.SCHEMA_VERSION, library_version=version.__version__) session.add(version_info) RDBStorage._commit_with_integrity_check(session)
def _check_table_schema_compatibility(self): # type: () -> None session = self.scoped_session() version_info = models.VersionInfoModel.find(session) if version_info is not None: if version_info.schema_version != models.SCHEMA_VERSION: raise RuntimeError( 'The runtime optuna version {} is no longer compatible with the table schema ' '(set up by optuna {}).'.format( version.__version__, version_info.library_version)) return version_info = models.VersionInfoModel( schema_version=models.SCHEMA_VERSION, library_version=version.__version__) session.add(version_info) self._commit_with_integrity_check(session)