在 CockroachDB 中删除数据库中的所有表
Posted
技术标签:
【中文标题】在 CockroachDB 中删除数据库中的所有表【英文标题】:Drop all tables in a database in CockroachDB 【发布时间】:2017-09-06 00:56:28 【问题描述】:是否有一个简单的命令可以让我删除数据库中的所有表?我设置了用户/授权,所以我不想删除数据库本身,只删除其中的表。
【问题讨论】:
【参考方案1】:CockroachDB 本身不支持删除所有表而不删除包含它们的数据库,但您可以通过运行:
cockroach sql --format=csv -e 'SHOW TABLES FROM databasename' \
| tail -n +3 \
| xargs -n1 printf 'DROP TABLE databasename."%s";\n' \
| cockroach sql
如果您不介意删除数据库,您可以运行 DROP DATABASE databasename CASCADE
【讨论】:
应该是tail -n +2
,因为 CSV 只包含一个标题行。以上是关于在 CockroachDB 中删除数据库中的所有表的主要内容,如果未能解决你的问题,请参考以下文章
带有 CockroachDB 的简单 CRUD 应用程序中的 org.hibernate.TransactionException