code: def init_db(engine: Engine):
      """Create database if doesn't exist and create all tables."""
      if not database_exists(engine.url):
          logger.info("Database does not exist, creating database.")
          create_database(engine.url)
      logger.info("Creating tables")
      BaseModel.metadata.create_all(bind=engine)
  
imports: import contextlib
  import datetime
  import json
  from dataclasses import dataclass, field
  from typing import List, Tuple
  import sqlalchemy
  from sqlalchemy.engine import Engine
  from sqlalchemy.types import TypeDecorator
  from sqlalchemy_utils import create_database, database_exists
  from evadb.catalog.catalog_type import ColumnType, NdArrayType, TableType, VectorStoreType
  from evadb.catalog.models.base_model import BaseModel
  from evadb.catalog.sql_config import CATALOG_TABLES
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 1 for calling a global function with example usage: init_db(engine) without return types