我正在研究如何管理OrientDB中的模式(使用源代碼管理)。我有一個可以通過OrientDB的「bin/console.sh」運行的SQL腳本來創建類和函數。我的腳本僅適用於創建新的數據庫,因爲CREATE...
語句將在第二次失敗。我希望能夠在更改後重新運行腳本。那麼,我們如何有條件地執行如CREATE CLASS
或CREATE PROPERTY
?在OrientDB中,如何編寫數據庫模式創建/更新SQL腳本?
到目前爲止,我嘗試使用IF
跳過這樣的言論,但IF
只允許一個script sql...end
塊內,如果你試圖把任何CREATE...
聲明中這樣的塊,你得到的錯誤:「不能更改架構而交易活躍。「我們唯一能夠想到的是使用set ignoreErrors true
,但這遠非理想,因爲錯誤仍然存在,所以很難區分預期錯誤和實際問題。
如果我提出了錯誤的問題(意思是說,除了SQL腳本之外,還有一種更好的方式來管理模式的源代碼控制),請告訴我。
您可以嘗試使用Java API進行管理。請參閱:http://orientdb.com/docs/last/Schema.html –
我通常有2個文件。第一個包含整個模式(所以你從頭開始安裝系統時運行它)。而第二個我用來運行部分更新(例如更改類的屬性或索引它) – AVK