前書き
ローカル環境にて Spanner エミュレータを動かしている際に開発環境なのでバッチ処理でテストデータを投入したいけれど、どうやるんだろうと調べていたら日本語の記事はなかったので、まとめです
答えは Spanner の Github のページにしっかりと記載されていました。
実際に実行する
-e
のオプションの後に実施したいSQL文を記載することで Spanner にSQLを流すことができます。
この辺りはMySQLと同じオプションのようですね。
実際の実行結果は下記となります。
# SELECT ができる
spanner-cli -p xxxxx-project -i xxxxxx-instance -d xxxxxxxx-database -e "SELECT * FROM TestTable;"
# Insert もできる
spanner-cli -p xxxxx-project -i xxxxxx-instance -d xxxxxxxx-database -e "INSERT INTO TestTable (id, CreatedAt, UpdatedAt) values ('XXXXXXXXXX', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);"
# Insert で入ったものを確認
spanner-cli -p xxxxx-project -i xxxxxx-instance -d xxxxxxxx-database -e "SELECT * FROM TestTable;"
Id CreatedAt UpdatedAt
XXXXXXXXXX 2022-02-10T02:16:38.469414Z 2022-02-10T02:16:38.469414Z