问题描述
我使用以下DDL命令在“来宾”扳手实例中的gcloud扳手数据库中创建了一个名为“ messages”的表
gcloud spanner databases ddl update messages \
--instance=guestbook --ddl="$(<~/guestbook-service/db/spanner.ddl)"
spanner.ddl包含以下内容
CREATE TABLE guestbook_message (
id STRING(36) NOT NULL,name STRING(255) NOT NULL,image_uri STRING(255),message STRING(255)
) PRIMARY KEY (id);
但是出现以下错误。
错误:gcloud崩溃(ValueError):无效的标头值 b'/ usr / bin /../ lib / google-cloud-sdk / lib / gcloud.py扳手数据库ddl 更新消息--instance =访客簿--d dl =创建表 guestbook_message(\ n ID STRING(36)NOT NULL,\ n名称STRING(255) NOT NULL,\ n image_uri STRING(255),\ n消息STRING(255)\ n) 主键(id);'
我该如何解决?
解决方法
此gcloud命令不接受带有换行符\n
的ddl语句。
将spanner.ddl
更改为:
CREATE TABLE guestbook_message (id STRING(36) NOT NULL,name STRING(255) NOT NULL,image_uri STRING(255),message STRING(255)) PRIMARY KEY (id);
如果所有内容都在同一行中,则没有\n
的话就可以正常工作。