Мне нужна некоторая функциональность для таблицы динамического создания в БД. Алгоритм: 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);
и мне нужно установить все столбцы, весь индекс и т. д.
Есть ли правильное решение?