0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Snowflake Terraformで作成したTagまわりのリソースがエラーになったときのリカバリ方法メモ

Posted at

久々にSnowflake Terraform でバグを引いたので、リカバリ手順メモ。

Actual Behavior
Error: sql: Scan error on column index 0, name "TAG": converting NULL to string is unsupported

Terraform で Tagまわりのリソースを再作成したら、突然うまくいかなくなった。
「なんもしてないのに壊れた」気分。

そうは言っても、タグベースのマスキングポリシーがないと困るので、この部分だけTerraformの管理から外して、SQLで再作成することにする。

1. Terraform管理下から関連リソースを削除する

リソース確認

terraform state list

この中から、タグに関係あるものを管理下から削除する

terraform state rm snowflake_tag.hogedb_piyoschema_tag_privacy_info
terraform state rm snowflake_masking_policy.hogedb_piyoschema_varchar_masking_policy
terraform state rm snowflake_tag_association.hogedb_piyoschema_varchar_table_association

2. テーブルのカラム再作成でエラーになるので、Snowflake本体からも削除する

-- タグついてる一覧確認
select *
from snowflake.account_usage.tag_references
order by tag_name,domain,object_id
;
-- カラムからタグを剥がす
alter table fugatable modify column_1 NAME unset tag RAW_TAG_PAYMENT_PRIVACY_INFO;
-- カラムからマスキングポリシーを剥がす(もしかしてやらなくてもいいかも)
alter table fugatable modify column column_1
unset masking policy;
-- マスキングポリシー削除
drop masking policy hogedb.piyoschema.varchar_masking_policy;
-- タグ削除
drop tag hogedb.piyoschema.tag_privacy_info;

3. タグ、プライバシーポリシーの再作成とカラムへの割り当て

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?