code: def append_table(src_con, dst_con, table_name):
      
  
      logger.debug(
          "append table: src={src_db}.{src_tbl}, dst={dst_db}.{dst_tbl}".format(
              src_db=src_con.database_path,
              src_tbl=table_name,
              dst_db=dst_con.database_path,
              dst_tbl=table_name,
          )
      )
  
      src_con.verify_table_existence(table_name)
      dst_con.validate_access_permission(["w", "a"])
  
      if dst_con.has_table(table_name):
          src_attrs = src_con.fetch_attr_names(table_name)
          dst_attrs = dst_con.fetch_attr_names(table_name)
          if src_attrs != dst_attrs:
              raise ValueError(
                  dedent(
                      """
                      source and destination attribute is different from each other
                      src: {}
                      dst: {}
                      """.format(
                          src_attrs, dst_attrs
                      )
                  )
              )
  
      primary_key, index_attrs, type_hints = extract_table_metadata(src_con, table_name)
  
      dst_con.create_table_from_tabledata(
          src_con.select_as_tabledata(table_name, type_hints=type_hints),
          primary_key=primary_key,
          index_attrs=index_attrs,
      )
  
      return True
docs: Append a table from source database to destination database.
  
      :param SimpleSQLite src_con: Connection to the source database.
      :param SimpleSQLite dst_con: Connection to the destination database.
      :param str table_name: Table name to append.
      :return: |True| if the append operation succeed.
      :rtype: bool
      :raises simplesqlite.TableNotFoundError:
          |raises_verify_table_existence|
      :raises ValueError:
          If attributes of the table are different from each other.