我对create a new rds (postgre) instance with terraform很好。但是我需要在实例准备好后运行一个sql(init.sql
)。
这个sql只需要运行一次,我该怎么办?
我尝试local-exec
或remote-exec
,我不能。 RDS是在VPC中的私有子网(数据层)中创建的,它是aws托管服务。没有办法登录运行sql cli。
答案 0 :(得分:1)
我有同样的要求。我以set a schedule task in ECS的解决方案结束。将计划时间设置为通过日期,它将不会运行,直到我用当前时间手动激活它。
因此,在terraform创建数据库之后,我登录aws控制台以激活此计划任务以仅运行一次
如果需要应用新架构,将来会很有用。
我还调整了psql客户端docker镜像(https://hub.docker.com/r/jbergknoff/postgresql-client/)并在其中添加了aws cli,因此我可以从s3复制sql并运行更新。