我有一个直接连接到PostgreSQL的微服务。
PostgreSQL已经在Kubernetes集群上部署并运行。
我正计划部署微服务,对此感到好奇,是否可以在微服务部署期间创建数据库架构?
可能会有更多的微服务,并且它们可以使用不同的架构,但是在PostgreSQL部署期间,架构应该如何看起来还不为人所知。
答案 0 :(得分:1)
在部署需要数据库的服务期间,您需要确保数据库处于可以运行该服务的状态。
您可以使用Flyway。它支持基于sql脚本的数据库迁移,并且还支持版本识别,因此,例如,如果您第二次执行flyway迁移,它将不会再次进行更改。
这可以作为部署过程的一部分运行,也可以在初始化容器中运行,甚至可以be injected into your code directly运行,因此,每次您的应用程序启动时,都将确保提供db状态。