使用Terraform创建Google Cloud sql表



我正在尝试使用terraform创建Google云sql表。

然而,似乎只有谷歌云sql实例和sql数据库的创建是可能的,通过terraform和使用cloudshell我们可以创建sql表。

但我试图使用terraform创建表,无论是直接使用我的terraform脚本中的sql脚本,还是只是引用terraform中的sql剧本,这些sql脚本将存储在云存储等地方。

任何关于这方面的线索/建议都将非常有用。

提前谢谢。

您可以试用Provisioners

以下是Postgres 的一个简单示例

resource "google_sql_database_instance" "default" {
[...]
provisioner "local-exec" {
command = "PGPASSWORD=<password> psql -f schema.sql -p <port> -U <username> <databasename>"
}
}

Provisioner可用于对本地机器或远程机器上,以便准备服务器或其他服务的基础结构对象。

schema.sql将保存您的表定义。

同样,您也可以为MySQL更新此命令。确保您的本地或CI/CD计算机安装了MySQL cli,以便从那里连接到DB实例并创建表。

Provisioners非常丑陋,但似乎是唯一的方法。。。我花了一整天的时间从gitlab ci/cd中的openapi规范生成mysql模式来解决这个问题。。。我希望从相同的openapi规范配置API网关会更容易。我是一名架构师,我只想要一个数据库、api、客户端和服务器微服务的真相来源。但我认为在Infra repo中生成DB模式将避免使用我不想使用的这个可悲的堡垒。

相关内容

  • 没有找到相关文章