created: 2020-09-11T04:43:11.000Z
MySQL の CREATE TABLE から BigQuery のスキーマ(json)を生成する
ddlparseというモジュールを使うと簡単だった
コードはこれだけでよい
import sys
from ddlparse import DdlParse
sql = sys.stdin.read()
table = DdlParse().parse(sql)
print(table.to_bigquery_fields())
こんな感じで生成される
$ cat /tmp/__.sql | python ./generate-bigquery-schema-from-mysql-create-table.py | jq . | head
[
{
"name": "id",
"type": "INTEGER",
"mode": "REQUIRED"
},
{
"name": "name",
"type": "string",
"mode": "REQUIRED"