def append_table(src_con, dst_con, table_name):
logger.debug(<EOL>"<STR_LIT>".format(<EOL>src_db=src_con.database_path,<EOL>src_tbl=table_name,<EOL>dst_db=dst_con.database_path,<EOL>dst_tbl=table_name,<EOL>)<EOL>)<EOL>src_con.verify_table_existence(table_name)<EOL>dst_con.validate_access_permission(["<STR_LIT:w>", "<STR_LIT:a>"])<EOL>if dst_con.has_table(table_name):<EOL><INDENT>src_attrs = src_con.fetch_attr_names(table_name)<EOL>dst_attrs = dst_con.fetch_attr_names(table_name)<EOL>if src_attrs != dst_attrs:<EOL><INDENT>raise ValueError(<EOL>dedent(<EOL>"""<STR_LIT>""".format(<EOL>src_attrs, dst_attrs<EOL>)<EOL>)<EOL>)<EOL><DEDENT><DEDENT>primary_key, index_attrs, type_hints = extract_table_metadata(src_con, table_name)<EOL>dst_con.create_table_from_tabledata(<EOL>src_con.select_as_tabledata(table_name, type_hints=type_hints),<EOL>primary_key=primary_key,<EOL>index_attrs=index_attrs,<EOL>)<EOL>return True<EOL>
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.