Symfony2 Doctrine entity: Как создать таблицу в контроллере?

Мне нужна некоторая функциональность для таблицы динамического создания в БД. Алгоритм: 1) зарегистрировать нового пользователя -> сделать запись в БД (это просто) 2) после регистрации создать таблицу, такую ​​как user_data_abcdef123456... где abcdef123456 – случайный прегенерированный хеш. эта таблица должна быть создана из (например) существующего объекта по умолчанию (user_data_) Entity:

 Path\To\Entity\UserData: type: entity table: user_data_ .... 

в контроллере выполните следующие действия:

 $doctrine = $this->getDoctrine(); /** @var AbstractSchemaManager $manager */ $manager = $doctrine->getConnection()->getSchemaManager(); /** @var ClassMetadata $metadata */ $metadata = $doctrine->getManager()->getClassMetadata($class); $metadata->setPrimaryTable(array('name' => $metadata->getTableName() . $project)); $table = new Table($metadata->getTableName()); $manager->createTable($table); 

и мне нужно установить все столбцы, весь индекс и т. д.

Есть ли правильное решение?