问题描述
是否可以为键空间中的所有表更新 gc_grace_seconds?或者应该每个文件夹都完成
解决方法
没有内置命令来更改键空间中所有表的表选项,但使用 bash + cqlsh 很容易实现。像这样(用实际参数替换 keyspace_name
和 new_value
):
cqlsh -e 'DESCRIBE FULL SCHEMA;'|grep -e '^CREATE TABLE keyspace_name'|\
sed -e 's|^CREATE TABLE \(.*\) (|ALTER TABLE \1 WITH gc_grace_seconds = new_value; |'|\
tee schema-changes.cql
cqlsh -f schema-changes.cql