sí, es una pena que el de D2 sea tan malo, aunque corregir los desperfectos puede ser mejor que crear, a mano, 37 entities.
pero recuerda que crear el modelo básicamente lo haces una vez, y luego añades los ajustes, en mi caso como lo creé desde 0 no tuve inconvenientes,
excepto tablas especificas que utiliza Asterisk como CDR, dónde tuve que indicarle a D2 específicamente como las quiero para que Asterisk pueda insertar data, ejemplo:
Código PHP:
Ver original<?php
namespace Entity;
use \Doctrine\Common\Collections\ArrayCollection;
/**
* Cdr Model
*
* @Entity(repositoryClass="Entity\Repository\CdrRepository")
* @Table(name="cdr", indexes={
* @index(name="billsec_idx", columns={"billsec"}),
* @index(name="calldate_idx", columns={"calldate"}),
* @index(name="dst_idx", columns={"dst"}),
* @index(name="src_idx", columns={"src"})
* })
* @author maycolalvarez
*/
class Cdr_Model extends Base_Model
{
/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="IDENTITY")
* La estrategia IDENTITY genera en POSTGRES el campo tipo SERIAL y el SEQUENCE por defecto
*/
protected $id;
//...
}