I am attempting to drive my apps db structure from skipper. To do this I need to get the app and skipper in sync.
My steps:
- Import app to skipper
- Export app from skipper to project
- View changes, if any, to files
A number of entities were changed during this process and all of them except one I am able to resolve.
On import the entitiy in question looks as such:
/**
* @var HierarchicalRoleInterface[]|\Doctrine\Common\Collections\Collection
* @ORM\ManyToMany(targetEntity="RoleBasedUser\Entity\HierarchicalRole")
* @ORM\JoinTable(name="rbu_roles_hierarchy")
*/
protected $children = [];
/**
* @var PermissionInterface[]|\Doctrine\Common\Collections\Collection
* @ORM\ManyToMany(targetEntity="RoleBasedUser\Entity\Permission", indexBy="name", fetch="EAGER")
* @ORM\JoinTable(name="rbu_roles_permissions")
*/
protected $permissions;
On export back to the app, immediately after import. It is changed to the following which does not work:
/**
* @var HierarchicalRoleInterface[]|\Doctrine\Common\Collections\Collection
* @ORM\ManyToMany(targetEntity="RoleBasedUser\Entity\HierarchicalRole")
* @ORM\JoinTable(
* name="rbu_roles_hierarchy",
* joinColumns={@ORM\JoinColumn(name="HierarchicalRole_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="HierarchicalRole_id", referencedColumnName="id")}
* )
*/
protected $children = [];
/**
* @var PermissionInterface[]|\Doctrine\Common\Collections\Collection
* @ORM\ManyToMany(targetEntity="RoleBasedUser\Entity\Permission", indexBy="name", fetch="EAGER")
* @ORM\JoinTable(
* name="rbu_roles_permissions",
* joinColumns={@ORM\JoinColumn(name="HierarchicalRole_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="Permission_id", referencedColumnName="id")}
* )
*/
protected $permissions;
Essentially I want it to be left alone, is there a way to prevent it form being changed on export?