異なる名前の同じテーブルをたくさん生成したいと思います。 (http://symfony.com/doc/current/book/doctrine.html#add-mapping-information)のようなマッピングで1つのエンティティクラスを作成し、パラメータ名を持つコマンドを実行してデータベースにテーブルを作成することは可能ですか?私はすでに1つの解決策を実行しましたが、エンティティクラスに基づいていません。コンストラクタでDoctrine2:エンティティクラスに基づいてエンティティを生成する
:作成機能以外
public function __construct()
{
$this->schema = new \Doctrine\DBAL\Schema\Schema();
$this->config = new \Doctrine\DBAL\Configuration();
$this->connection = DriverManager::getConnection($this->connectionParams, $this->config);
$this->queryBuilder = $this->connection->createQueryBuilder();
$this->myPlatform = new MySqlPlatform();
$this->comparator = new \Doctrine\DBAL\Schema\Comparator();
}
:
public function setTable($name)
{
$myTable = $this->schema->createTable($name);
$myTable->addColumn("id", "integer", array("unsigned" => true));
$myTable->addColumn("name", "string", array("length" => 32));
$myTable->setPrimaryKey(array("id"));
$myTable->addUniqueIndex(array("name"));
$queries = $this->schema->toSql($this->myPlatform);
$sm = $this->connection->getSchemaManager();
$fromSchema = $sm->createSchema();
$toSchema = $this->schema;
$schemaDiff = $this->comparator->compare($fromSchema, $toSchema);
$queries = $schemaDiff->toSql($this->myPlatform);
$sql = $schemaDiff->toSaveSql($this->myPlatform);
foreach ($sql as $sentence) {
$this->connection->exec($sentence);
}
}
と同じテーブルを作成するためのパラメータ$ table_nameを持つマッピングと1クラスに基づいて他のソリューションとコマンドがあります別の名前ですか? symfony 3とDoctrine 2を使用しています。
誰ですか?何かご意見は? – sanof