我正在将KSQLDB部署在docker容器中,并且在数据库启动时需要创建一些表(如果它们不存在)。有没有办法做到这一点?有例子吗?
答案 0 :(得分:0)
从0.11版开始,您将需要具有一些可以查询服务器其余端点的内容,以确定存在哪些表,然后提交SQL以创建任何丢失的表。这显然有点笨拙。
我相信即将发布的0.12版本附带CREATE OR REPLACE
支持创建流和表。使用此功能,您需要的是一个在docker映像中包含一些curl命令的脚本,该脚本等待服务器可用,然后使用CREATE OR REPLACE
在带有表定义的SQL脚本中触发。
0.12发行版还为流,表,连接器和类型提供IF NOT EXIST
语法支持。因此,您可以这样做:
CREATE STREAM IF NOT EXISTS FOO (ID INT) WITH (..);
要传递给服务器的内容的详细信息可以在Rest API docs中找到。
或者您应该能够使用CLI编写命令发送脚本。