When running:
php app/console doctrine:schema:validate
I receive the error:
[Mapping] FAIL - The entity-class 'Path\ToBundle\Entity\Variant' mapping is invalid: * The referenced column name 'localsku' has to be a primary key column on the target entity class 'Path\ToBundle\Entity\Inventory'.
The killer here is that 'localsku' is indeed a primary key. Am I missing something major here? Thanks in advance for any assistance, and I apologize if I've missed some key piece of information.
Variant Entity is defined as:
Path\ToBundle\Entity\Variant:
type: entity
table: variant
uniqueConstraints:
sku:
columns:
- sku
id:
variantId:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
column: variant_id
generator:
strategy: IDENTITY
fields:
name:
type: string
nullable: false
length: 255
fixed: false
comment: ''
sku:
type: string
nullable: false
length: 255
fixed: false
comment: ''
oneToOne:
inventory:
targetEntity: Inventory
cascade: { }
mappedBy: null
inversedBy: variant
joinColumns:
sku:
referencedColumnName: localsku
orphanRemoval: false
lifecycleCallbacks: { }
Inventory Entity is defined as:
Path\ToBundle\Entity\Inventory:
type: entity
table: Inventory
id:
localsku:
type: string
nullable: false
length: 255
fixed: false
comment: ''
id: true
column: LocalSKU
generator:
strategy: IDENTITY
fields:
itemname:
type: string
nullable: true
length: 255
fixed: false
comment: ''
column: ItemName
qoh:
type: integer
nullable: true
unsigned: false
comment: ''
column: QOH
location:
type: string
nullable: true
length: 250
fixed: false
comment: ''
column: Location
barcode:
type: string
nullable: true
length: 25
fixed: true
comment: ''
column: Barcode
oneToOne:
variant:
targetEntity: Variant
cascade: { }
mappedBy: inventory
inversedBy: null
joinColumns:
localsku:
referencedColumnName: sku
orphanRemoval: false
lifecycleCallbacks: { }
Variant Entity reference to Inventory:
/**
* Inventory
*
* @var \Path\ToBundle\Entity\Inventory
*
* @ORM\OneToOne(targetEntity="Path\ToBundle\Entity\Inventory", inversedBy="variant")
* @ORM\JoinColumn(name="sku", referencedColumnName="localsku")
*/
protected $inventory;
Inventory Entity reference to Variant:
/**
* Variant
*
* @var \Path\ToBundle\Entity\Variant
*
* @ORM\OneToOne(targetEntity="Path\ToBundle\Entity\Variant", inversedBy="inventory")
* @ORM\JoinColumn(name="localsku", referencedColumnName="sku")
*/
protected $variant;