Doctrine: Update discriminator for SINGLE_TABLE Inheritance
Com essas classes, como você mudaria um registro para uma "Pessoa" para um "Funcionário".
/**
* @Entity
* @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"person" = "Person", "employee" = "Employee"})
*/
class Person
{
// ...
}
/**
* @Entity
*/
class Employee extends Person
{
// ...
}
Eu tentei alterar o valor da coluna discriminador, mas não consigo acessar isso. Eu também tentei criar uma instância de 'Empregado' e copiar manualmente os dados, mas isso não funciona com ID's de incremento automático. Apenas é adicionado como um novo registro, em vez de atualizar o existente.
Preciso escrever uma consulta SQL personalizada ou estou fazendo outra coisa que está fundamentalmente errada?