重命名底层 table 而不破坏 Metabase 中的仪表板

Rename underlying table without breaking dashboards in Metabase

我们想重命名在基础数据库中的 Metabase 中使用的 table。几个仪表板依赖于此 table。我们能否重命名底层 table 然后确保仪表板仍然有效?

快捷方式

通过使用 Snowflake 中的视图,您应该能够重命名旧名称 table,同时仍然允许对旧名称的查询仍然有效。

https://docs.snowflake.com/en/sql-reference/sql/create-view.html

CREATE [ OR REPLACE ] [ SECURE ] [ RECURSIVE ] VIEW [ IF NOT EXISTS ] <name>
    [ ( <column_list> ) ]
    [ COPY GRANTS ]
    [ COMMENT = '<string_literal>' ]
    AS <select_statement>

这看起来像这样:

CREATE VIEW old_name AS select * from new_name;

路漫漫其修远兮

通过查询Metabase数据库中的report_card table,可以找到所有使用table的题目的题号,然后在其中修改题目名称。

SELECT * from report_card where dataset_query like '%old_table%'

您可以自动更改 table 名称,但这可能会意外更改相似的名称或其他重大更改。