2011-03-31 58 views
1

在學說中是否有任何可以從YAML創建db表的命令。我可以看到我們可以使用./doctrine generate-yaml-db創建YAML。學說如何從yaml生成db表

但是我們如何才能實現這一功能。從yaml到db。

有任何命令是這樣的 ./doctrine產生-DB-YAML

回答

2

從yaml文件生成數據庫必須分兩步完成。

  1. 使用Doctrine_Core :: generateModelsFromYaml()從yaml文件生成模型。

  2. 使用Doctrine_Core :: createTablesFromModels()從模型生成數據庫。

我建議編寫一個命令行腳本,按順序調用這兩個函數,並自動執行一些其他必要步驟。這是我用來重新生成我的數據庫的腳本的核心。

echo 'Deleting old models...'; 
deleteAllFilesInDirectory(APPPATH . '/models/generated'); 
echo "done.\n"; 

echo 'Generating models...'; 
Doctrine_Core::generateModelsFromYaml('schema.yml', APPPATH . '/models'); 
echo "done.\n"; 

echo 'Recreating database tables...'; 
Doctrine_Core::dropDatabases(); 
Doctrine_Core::createDatabases(); 
Doctrine_Core::createTablesFromModels(APPPATH . '/models'); 
echo "done.\n"; 

echo 'Loading data...'; 
Doctrine_Core::loadData('autoload.yml', 'true'); 
echo "done.\n"; 
0

,因爲我已經發現了艱辛的道路這是不可能的。您可以從yaml文件生成模型,然後從模型創建表格。我的教義完美地完成了第一個,但表格的創建卻沒有發生。我仍然試圖找到一個解決方案來從yaml文件創建表。