code: def makemigrations(self):
          ''' Do database migrations
          1. Creates new tables from models
          2. Updates columns and columns
  
          Returns True if no exception else raises an unhandled exception
          '''
  
          UNCHANGED = []
  
          with Session(self.settings) as conn:
              cursor = conn.cursor()
              for name, model in self.models.items():
                  print("Running migrations... on table: %s"%model.__name__.lower())
                  columns = self.description(model)
          
                  table = name.lower()
                  QUERY = "CREATE TABLE IF NOT EXISTS %s ("%table
  
                  for field, FieldType in model.columns.items():
                      QUERY += "%s %s, " % (field, FieldType)
                      # If no columns --> Table not created yet
                      if columns:
                          self.UpdateColums(cursor, field, FieldType, 
                              model, columns, UNCHANGED)
  
                  QUERY = QUERY[:-2] + ") ENGINE=InnoDB"
              
                  print(QUERY)
                  
                  try:
                      cursor.execute(QUERY)
                  except mysql.Error as e:
                      raise e
  
              return Truf makemigrations(self):
          ''' Do database migrations
          1. Creates new tables from models
          2. Updates columns and columns
  
          Returns True if no exception else raises an unhandled exception
          '''
  
          UNCHANGED = []
  
          with Session(self.settings) as conn:
              cursor = conn.cursor()
              for name, model in self.models.items():
                  print("Running migrations... on table: %s"%model.__name__.lower())
                  columns = self.description(model)
          
                  table = name.lower()
                  QUERY = "CREATE TABLE IF NOT EXISTS %s ("%table
  
                  for field, FieldType in model.columns.items():
                      QUERY += "%s %s, " % (field, FieldType)
                      # If no columns --> Table not created yet
                      if columns:
                          self.UpdateColums(cursor, field, FieldType, 
                              model, columns, UNCHANGED)
  
                  QUERY = QUERY[:-2] + ") ENGINE=InnoDB"
              
                  print(QUERY)
                  
                  try:
                      cursor.execute(QUERY)
                  except mysql.Error as e:
                      raise e
  
              return True
docs: Do database migrations
          1. Creates new tables from models
          2. Updates columns and columns
  
          Returns True if no exception else raises an unhandled exception