code: def _copy_db_ids_if_possible(new_obj: Any, obj: Any) -> None:
      """Wraps _copy_db_ids in a try/except, and logs warnings on error."""
      try:
          copy_db_ids(new_obj, obj, [])
      except SQADecodeError as e:
          # Raise these warnings in unittests only
          if os.environ.get("TESTENV"):
              raise e
          logger.warning(
              f"Error encountered when copying db_ids from {new_obj} "
              f"back to user-facing object {obj}. "
              "This might cause issues if you re-save this experiment. "
              f"Exception: {e}"
          )
  
imports: import os
  from logging import Logger
  from typing import Any, Callable, Dict, List, Optional, Sequence, Union
  from ax.core.base_trial import BaseTrial
  from ax.core.experiment import Experiment
  from ax.core.generator_run import GeneratorRun
  from ax.core.metric import Metric
  from ax.core.outcome_constraint import ObjectiveThreshold, OutcomeConstraint
  from ax.core.runner import Runner
  from ax.exceptions.core import UserInputError
  from ax.exceptions.storage import SQADecodeError
  from ax.modelbridge.generation_strategy import GenerationStrategy
  from ax.storage.sqa_store.db import session_scope, SQABase
  from ax.storage.sqa_store.decoder import Decoder
  from ax.storage.sqa_store.encoder import Encoder
  from ax.storage.sqa_store.sqa_classes import SQAData, SQAGeneratorRun, SQAMetric, SQARunner, SQATrial
  from ax.storage.sqa_store.sqa_config import SQAConfig
  from ax.storage.sqa_store.utils import copy_db_ids
  from ax.utils.common.base import Base
  from ax.utils.common.logger import get_logger
  from ax.utils.common.typeutils import checked_cast, not_none
label_desc: Use image node_id 16 for calling a global function with example usage: _copy_db_ids_if_possible(new_obj, obj) without return types