如何使用 gocql 执行 cql 文件?

How do you execute a cql file using gocql?

如果您要使用 cqlsh 直接与 Cassandra 交互,您可以执行以下操作:

$ cqlsh
cqlsh:test> SOURCE '/home/me/reset_db.cql'

我曾多次尝试使用 gocql 执行此操作,但总是出现错误。例如,运行 这个:

filePath := "/home/me/reset_db.cql"
SOURCE_FILE := "SOURCE (?)"
resetErr := session.Query(SOURCE_FILE, filePath).Exec()

产生以下错误:

line 1:0 no viable alternative at input 'SOURCE' ([SOURCE]...)

那么我做错了什么?

SOURCE是cqlsh中的快捷方式,不是一般有效的CQL命令。

您需要将文件内容读入字符串并执行它们。