Doctrine2とSymfony2を使用してテーブルを削除するにはどうすればよいですか?エンティティを生成してスキーマを更新しました。次に、この構造を削除します。
			
			21896 次
		
4 に答える
            18        
        
		
あなたの質問を正しく理解できたかどうかわかりません。エンティティを削除し、生成されたテーブルもデータベースから削除したいですか? もしそうなら:
Doctrine2 はそれが知っているテーブルのみを気にするため、それはできません。つまり、エンティティによって表されるテーブルを意味します。アプリケーションからいくつかのエンティティを削除したため、Doctrine はテーブルがアプリケーションに属しているとは見なしません。同じデータベースに異なるアプリケーションの異なるテーブルがある場合があります。それらについて何も知らないという理由だけで Doctrine がそれらを削除しても意味がありません。それは人種差別主義者だろう...しかし、テーブルに対して。
プログラムでテーブルを削除するだけの場合は、生のクエリを使用できます。私の知る限り、Doctrine にはテーブルを削除する方法がありません。または、別の方法として、手動で行うこともできます。
于 2012-07-27T14:51:56.487   に答える
    
    
            6        
        
		
生のSQLを実行できます。
たとえば、Symfony2 コントローラーでは次のようになります。
$em = $this->getDoctrine()->getManager();
$sql = 'DROP TABLE hereYourTableName;';
$connection = $em->getConnection();
$stmt = $connection->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
    于 2013-11-13T14:08:08.383   に答える
    
    
            3        
        
		
使用しなくなったテーブルを手動で削除するだけです...Doctrine はマップされていないテーブルを完全に無視します。
于 2012-07-27T14:19:30.757   に答える