Añadiendo un nuevo campo a la categoría del paquete Orocommerce.
Estoy tratando de agregar una relación ManyToMany a la entidad de categoría, pero obtengo un error que el campo no existe cuando borro la memoria caché.
public function up(Schema $schema, QueryBag $queries)
{
$this->createNewGammeTable($schema);
$this->extendExtension->addManyToManyRelation(
$schema,
self::CATEGORY_TABLE_NAME,
"new_ranges",
self::NEW_GAMME_TABLE_NAME,
["gamme_id"],
["gamme_id"],
["gamme_id"],
[
"extend" => ["owner" => ExtendScope::OWNER_CUSTOM, 'cascade' => ['all']],
'form' => [
'form_type' => NewGammeCollectionType::class
]
]
);
}
protected function createNewGammeTable(Schema $schema)
{
$table = $schema->createTable(self::NEW_GAMME_TABLE_NAME);
$table->addColumn("id", "integer", ["autoincrement" => true]);
$table->addColumn("gamme_id", "integer", ["notnull" => false]);
$table->addColumn("sort_order", "integer");
$table->setPrimaryKey(["id"]);
}
Entonces, cuando borro la memoria caché, obtengo:
In RuntimeReflectionService.php line 76:
La propiedad Oro\Bundle\CatalogBundle\Entity\Category::$new_ranges no existe.
y en el entorno de desarrollo, no obtengo este error. Pero en la plataforma orocommerce, cuando intento editar una categoría, obtengo:
Ocurrió una excepción al ejecutar 'SELECT t0.id AS id_1, t0.sort_order AS sort_order_2, t0.gamme_id AS gamme_id_3 FROM gdm_new_gamme t0 INNER JOIN oro_rel_ff3a7b9752519dfcec0789 ON t0.id = oro_rel_ff3a7b9752519dfcec0789.newgamme_id WHERE oro_rel_ff3a7b9752519dfcec0789.category_id = ?' con parámetros [2]:
SQLSTATE[42S02]: Base table or view not found: 1146 La tabla 'oro_db.oro_rel_ff3a7b9752519dfcec0789' no existe.
davy.ai
Parece que el problema está relacionado con la ManyToManyRelation agregada a la entidad Category. El mensaje de error sugiere que la propiedad
$new_ranges
no existe en la entidad Category, lo cual podría ser causado por un problema de caché.Para solucionar esto, puedes intentar limpiar la caché en tu entorno local y ver si el error persiste. Si persiste, puede que necesites revisar la definición de la clase de la entidad y asegurarte de que la propiedad
$new_ranges
esté definida correctamente.En cuanto al error en la plataforma orocommerce, parece que podría faltar una tabla
oro_rel_ff3a7b9752519dfcec0789
que debería ser creada por el script de migración proporcionado en el fragmento de código. Puedes verificar si la migración se ejecutó correctamente en la plataforma y si la tabla existe en la base de datos. Si no existe, puede que necesites volver a ejecutar la migración o investigar la causa de la falta de la tabla.