Spanner 允许您在不停机的情况下进行架构更新。您可以通过几种方式更新现有数据库的架构:
在 Google Cloud 控制台中
在 Spanner Studio 页面上提交
ALTER TABLE命令。如需访问 Spanner Studio 页面,请在数据库概览或表概览页面中点击 Spanner Studio。
使用
gcloud spanner命令行工具使用
gcloud spanner databases ddl update命令提交ALTER TABLE命令。使用客户端库
使用
projects.instances.databases.updateDdlREST API使用
UpdateDatabaseDdlRPC API
支持的架构更新
Spanner 支持对现有数据库执行以下架构更新操作:
- 添加或删除命名架构。
- 新建一个表。 新表格中的列可以为
NOT NULL。 - 删除一个表,前提是该表内没有交错其他表,并且没有二级索引。
- 创建或删除带有外键的表。
- 在现有表中添加或移除外键。
- 将一个非键列添加到任何表。新的非键列不能为
NOT NULL。- 从任何表中删除非键列,除非二级索引、外键、存储的生成列或检查限制条件使用该列。
- 将
NOT NULL添加到非键列,从而排除ARRAY列。 - 从非键列中移除
NOT NULL。