in migration_toolkit/sql_generators/copy_rows/ddl_parser.py [0:0]
def _to_schema(ddl: List[str]) -> Dict[str, BigQueryType]:
ddl = [line.strip() for line in ddl]
columns_start_index = ddl.index("(")
try:
columns_end_index = ddl.index(")")
except ValueError:
try:
columns_end_index = ddl.index(");")
except ValueError:
raise ValueError(
"Couldn't parse schema file. Make sure this file is generated by"
" the response of `fetch_bigquery_table_schema.py`"
)
if "PRIMARY KEY" in ddl[columns_end_index - 1]:
columns_end_index -= 1
schema = ddl[columns_start_index + 1 : columns_end_index]
return DDLParser._to_dict(schema)