2016-05-18 21 views
0

Ist es möglich, eine Klasse erstellen nur, wenn die Klasse nicht noch existiert, in PhpOrient für Orientdb 2.1.13?erstellen Klasse, wenn Klasse nicht mit PhpOrient existiert

So etwas wie folgt aus:

$client->command('create class Thing extends V if class Thing != exist'); 
+0

Hallo @ Jeroen Steen, ich denke, dass Sie nicht überprüfen können, die Klasse Existenz und erstellen Sie es, wenn es nicht bereits in der DB mit einem Befehl vorhanden ist –

Antwort

1

Dieses Verhalten ist eingebaut Wenn Sie versuchen, eine Klasse zu erstellen, die bereits Orientdb existiert einen Fehler zurück (wenn Sie es über die Konsole tun).. Wenn Sie PhpOrient verwenden, wird eine Ausnahme ausgelöst.
Wenn die Klasse es die Gesamtzahl der Klassen in der db nach Erstellung der Antwort überprüfen So einfach wird wieder vorhanden ist, aber die Ausnahme als auch fangen .:

$response=false; 
try { 
    $response = $client->command('create class Thing extends V); 
} catch (Exception $e) { 
    print "Error: " . $e->getMessage() ."\n"; 
    //class was most likely already created 
} 
//check $response 
if ($response) { 
    //class created scuccessfully 
    print"Number of claasses $response \n"; 
} 

Sie von Fahnen, wie Sie natürlich einstellen können brauche sie in den Blöcken, damit du alles tun kannst, was du brauchst, abhängig vom Ergebnis.
Hoffe, das hilft