class Order{
/**
* @var integer
*
* @ORM\Column(name="order_id", type="bigint")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $orderId;
/**
* @ORM\OneToOne(targetEntity="OrderDiscount")
* @ORM\JoinColumn(name="order_id", referencedColumnName="order_id")
*/
private $discount;
/**
* @ORM\OneToOne(targetEntity="OrderTax")
* @ORM\JoinColumn(name="order_id", referencedColumnName="order_id")
*/
private $tax;
/**
* @ORM\OneToOne(targetEntity="OrderPayments")
* @ORM\JoinColumn(name="order_id", referencedColumnName="order_id")
*/
private $payment;
}
class OrderDiscount{
/**
* @var integer
*
* @ORM\Column(name="order_id", type="bigint")
* @ORM\Id
*/
private $id;
/**
* @var float
*
* @ORM\Column(name="discount", type="float", precision=10, scale=0, nullable=false)
*/
private $discount;
}
class OrderPayments{
/**
* @var integer
*
* @ORM\Column(name="order_id", type="bigint", nullable=false)
* @ORM\Id
*/
private $id;
/**
* @var float
*
* @ORM\Column(name="payment_amount", type="float", precision=10, scale=0, nullable=true)
*/
private $paymentAmount;
}
class OrderTax{
/**
* @var integer
*
* @ORM\Column(name="order_id", type="bigint", nullable=false)
* @ORM\Id
*/
private $id;
/**
* @var float
*
* @ORM\Column(name="tax_amount", type="float", precision=10, scale=0, nullable=false)
*/
private $taxAmount;
}
Вот мой код (здесь показан только основной код).При переносе этой схемы учение говорит, что индекс уже существует, когда я проверяю в базе данных, что индекс не существует.Потому что доктрина в использовании имен столбцов для генерации индексов, потому что все ассоциации имеют одинаковые столбцы, поэтому доктрина говорит, что индекс уже существует.
Есть ли другой лучший способ сделать это?