首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terrraform雪花创建表:添加新列时保留列顺序

Terrraform雪花创建表:添加新列时保留列顺序
EN

Stack Overflow用户
提问于 2022-11-07 10:29:37
回答 1查看 57关注 0票数 -1

我通过Terraform管理雪花桌。

在现有表中添加新列时,我希望保留列顺序。默认的terraform行为是在DDL create表达式中追加新列。

举个例子:我首先创建一个表

代码语言:javascript
复制
resource "snowflake_table" "table" {
  database            = snowflake_schema.schema.database
  schema              = snowflake_schema.schema.name
  name                = "table"

  column {
    name     = "id"
    type     = "int"
  }

  column {
    name     = "identity"
    type     = "NUMBER(38,0)"
  }

  column {
    name     = "final"
    type     = " VARCHAR(100)"
  }
}

terraform给出了以下DDL表达式。

代码语言:javascript
复制
create or replace TABLE table (
    "id" int,
"identity" NUMBER(38,0),
"final" VARCHAR(100) )

如果我想添加一个新列,我将terraform脚本修改为如下所示:

代码语言:javascript
复制
resource "snowflake_table" "table" {
  database            = snowflake_schema.schema.database
  schema              = snowflake_schema.schema.name
  name                = "table"

  column {
    name     = "id"
    type     = "int"
  }

  column {
    name     = "test"
    type     = " VARCHAR(100)"
  }

  column {
    name     = "identity"
    type     = "NUMBER(38,0)"
  }

  column {
    name     = "final"
    type     = "VARCHAR(100)"
  }
}

我希望测试列位于第二位。

但是Terraform生成DDL表达式。

代码语言:javascript
复制
create or replace TABLE table (
"id" int,
"identity" NUMBER(38,0) ,
"final" VARCHAR(100),
"test" VARCHAR(100) )

因为桌子已经就位了

但我需要:

代码语言:javascript
复制
create or replace TABLE table (
"id" int,
"identity" NUMBER(38,0) ,
"test" VARCHAR(100),
"final" VARCHAR(100))

我有一些代码生成的sql语句,依赖于列顺序,我希望sql列顺序与它们来自的csv文件相同。

目前,我必须销毁表资源来创建一个新的表资源。我想知道是否有办法改变附加的默认行为?

EN

回答 1

Stack Overflow用户

发布于 2022-11-07 21:37:18

雪花不支持指定添加列的位置。这就是Terraform不能在中间添加列的原因。

https://docs.snowflake.com/en/sql-reference/sql/alter-table.html#table-column-actions-tablecolumnaction

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74345148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档