我目前正在开发一个 OroPlatform 项目,我需要在BusinessUnit
核心实体上添加一个自定义字段。
我已阅读有关扩展核心实体的方式的 Oro 文档部分:https ://doc.oroinc.com/backend/entities/extend-entities/#id1
<?php
namespace MyBundle\Bundle\AppBundle\Migrations\Schema\v1_0;
use Doctrine\DBAL\Schema\Schema;
use Oro\Bundle\EntityExtendBundle\EntityConfig\ExtendScope;
use Oro\Bundle\MigrationBundle\Migration\Migration;
use Oro\Bundle\MigrationBundle\Migration\QueryBag;
class AddColumnsToBusinessUnit implements Migration
{
public function up(Schema $schema, QueryBag $queries)
{
$table = $schema->getTable('oro_business_unit');
$table->addColumn('siret', 'string', [
'oro_options' => [
'extend' => ['owner' => ExtendScope::OWNER_CUSTOM],
'entity' => ['label' => 'siret'],
],
]);
}
}
当我运行命令symfony console oro:migration:load --force
时,它可以工作,并且迁移将应用于我的数据库。
现在,我想要一个必填字段。我已经看到了'notnull' => true
在数据库上设置不可为空字段的说明。
organization/business_unit/create
一切正常,但我的领域在路线上没有任何 JavaScript 验证。有任何想法吗 ?