#shopware6
Вопрос:
В приведенном ниже примере для определения сущности определен внешний ключ. Как разработчик и инженер баз данных, я ожидал бы, что команда dal:create:schema
также создаст ожидаемые внешние ключи. Но это не тот случай.
return new FieldCollection([ (new IdField('id', 'id'))-gt;addFlags(new PrimaryKey(), new Required()), (new LongTextField('comment', 'name'))-gt;addFlags(new Required()), (new FkField('order_id', 'orderId', OrderDefinition::class))-gt;addFlags(new Required()), new OneToOneAssociationField('order', 'order_id', 'id', OrderDefinition::class, false), new CreatedAtField(), new UpdatedAtField() ]);
Вместо этого это результат:
CREATE TABLE `order_refund` ( `id` BINARY(16) NOT NULL, `comment` LONGTEXT NOT NULL, `order_id` BINARY(16) NOT NULL, `created_at` DATETIME(3) NOT NULL, `updated_at` DATETIME(3) NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Тем не менее, похоже, что многие ассоциации будут добавлять внешние ключи. Есть ли что-то отсутствующее в определении сущности?