很多時候,需要把開發環境中的應用連同對應的數據庫對象(表,索引,視圖,序列,觸發器等)以及數據一同導入到生產環境中。如果單純地使用應用地導出(),智能導出應用本身,而不能帶出數據庫對象及數據。下面簡單介紹如何導出應用地時候同時帶出數據庫對象和數據。這里要注意的是用vbs將數據導入數據庫,導出的數據在APEX里叫種子數據。每個表最多只能導出10000條記錄。
第一步:生成數據庫對象安裝腳本
在應用開發頁面的上部,點擊“支持對象”。
在“安裝”菜單下選擇“安裝腳本”。并創建新的安裝腳本。
選擇“從數據庫對象創建”。
選擇要生成的安裝腳本的數據庫對象。這里強烈建議,一類數據庫對象單獨生成一個安裝腳本。
選擇需要生成安裝腳本的表。建議勾選“ DDL to ”。這樣與所選表相關的索引,觸發器等數據庫對象也會一并生成。
瀏覽生成的SQL腳本并做必要的修改。然后點擊創建。
第二步:創建數據包
還是在“安裝腳本”頁面,在最右側的菜單欄里選擇“創建數據包”。
選擇要導出的數據表。
確認后點擊“完成”,生成數據安裝腳本。
第三步:檢查安裝腳本
1,檢查數據庫對象安裝腳本的順序。有些數據庫對象是有相關依賴的用vbs將數據導入數據庫,比如,表的主鍵ID需要一個序列自動生成,那就需要先安裝序列的腳本,然后再安裝表的腳本。又如:有主外鍵約束關系的,必須要安裝帶主鍵的表,再安裝帶外鍵的表。否則在安裝的時候會因為找不到對應的數據庫對象而報錯。調整腳本安裝順序有兩個地方。
2,檢查數據安裝包的數據導入順序。對于有主外鍵約束的表,必須先導主表數據,再導從表數據。否則會因為主鍵缺失導致從表數據導入失敗。例如下面的和兩張表,要先執行。同樣是點擊腳本最左邊的小鉛筆進入編輯界面調整(編輯)數據導入的執行順序。
另外:如果安裝腳本里有觸發器的,建議在安裝腳本里把觸發器。避免導入數據的時候引發觸發器,導致數據導入失敗。
第四步:導出應用
在“導出首選項”里,一定要選擇“是,在導入后自動安裝”。
這樣,導出的SQL腳本里就包括了數據庫對象和數據包的安裝腳本。在目的工作區直接導入即可。
===========全文結束===========
更多 APEX的知識和技巧,請猛戳下面二維碼持續關注微信公眾號“APEX中文社區”和“徐大爺的學習筆記”。
APEX中文社區
徐大爺的學習筆記