清空Orient-DB中的所有行

时间:2015-01-25 06:57:15

标签: database orientdb

是否有命令在Orient-DB中刷新/清空所有类/簇。

与MySQL中的Empty函数类似。

P.S:也在这里搜索:https://github.com/orientechnologies/orientdb/wiki/Console-Commands

1 个答案:

答案 0 :(得分:7)

没有这样的命令。

如果要保留类的元数据,可以使用truncate命令(与大多数RDBMS相同)。它删除指定类的所有集群中的所有记录(但保留有关该类的元数据):

truncate class <yourclass>

如果要截断所有自定义类(因此不包括OrientDB类,所有类都以大写字母&#34; O&#34;开头),您可以使用此脚本:

  connect plocal:<yoururl> <yourusername> <yourpassword>;
  js var result = db.query('select name from (select expand(classes) from metadata:schema) where name.charAt(0) <> "O"'); 
  for (var i = 0; i < result.length; i++) { 
    var className = result[i].getRecord().field('name'); 
    db.command('truncate class ' + className);
  }; 
  result.length + ' classes truncated'; 
  end;
  exit

将此脚本另存为truncate-all.osql。 要执行此脚本,请转至ORIENTDB_HOME/bin目录并执行:

$ ./console.sh truncate-all.osql