oplatform-club / platform-serialised-fields
Oro 平台序列化字段
2.5.1
2017-12-31 10:05 UTC
Requires
- php: >=7.0
- oplatform-club/platform: >=2.5.1
- dev-master / 2.x-dev
- 2.5.x-dev
- 2.5.1
- 2.5.0
- 2.4.x-dev
- 2.4.0
- 2.3.x-dev
- 2.3.1
- 2.3.0
- 2.2.x-dev
- 2.2.0
- 2.1.x-dev
- 2.1.0
- 2.0.x-dev
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-rc.1
- 2.0.0-beta.1
- 1.5.x-dev
- 1.5.1
- 1.5.1-beta.4
- 1.5.0
- 1.5.0-beta.3
- 1.5.0-beta.2
- 1.5.0-beta.1
- 1.5.0-alpha2
- 1.5.0-alpha1
- 1.4.x-dev
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.x-dev
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.x-dev
- 1.2.1
- 1.2.0
- 1.1.x-dev
- 1.1.0
- 1.0.x-dev
- 1.0.0
- dev-2.0-rc
This package is auto-updated.
Last update: 2024-08-29 04:41:37 UTC
README
本文档简要介绍了“Oro 实体序列化字段”包,以及如何下载和安装的信息。
目录
基础
ORO 平台提供了创建自定义实体或通过新自定义字段扩展实体的能力。
此包允许在创建自定义字段时避免模式更新。尽管这个字段有一些限制。
此类字段数据以序列化数组的形式存储在 serialized_data
列中。在实体配置页面中,serialized_data
字段从 UI 中隐藏。
不支持的功能
- 网格过滤和排序
- 段和报告
- 图表
- 搜索
- 关系、枚举和选项集字段类型
- 数据审计
- 在 Doctrine 查询构建器中使用此类字段
安装完成后(以下将描述),在“新建字段”页面中会新增一个名为“存储类型”的新字段,您可以选择两种存储类型
表列
选项将允许您像往常一样创建自定义字段;序列化字段
选项意味着您可以避免模式更新并立即开始使用此字段,但请注意,在这种情况下,字段类型受到限制,仅限于- 字符串
- 整数
- 小整数
- 大整数
- 布尔值
- 十进制
- 日期
- 日期时间
- 文本
- 浮点数
- 货币
- 百分比
要使用迁移创建序列化字段,可以使用SerializedFieldsExtension。以下是一个示例
<?php namespace Acme\Bundle\AppBundle\Migrations\Schema\v1_1; use Doctrine\DBAL\Schema\Schema; use Oro\Bundle\EntityExtendBundle\EntityConfig\ExtendScope; use Oro\Bundle\EntitySerializedFieldsBundle\Migration\Extension\SerializedFieldsExtension; use Oro\Bundle\EntitySerializedFieldsBundle\Migration\Extension\SerializedFieldsExtensionAwareInterface; use Oro\Bundle\MigrationBundle\Migration\Migration; use Oro\Bundle\MigrationBundle\Migration\QueryBag; class AddSerializedFieldMigration implements Migration, SerializedFieldsExtensionAwareInterface { /** @var SerializedFieldsExtension */ protected $serializedFieldsExtension; /** * {@inheritdoc} */ public function setSerializedFieldsExtension(SerializedFieldsExtension $serializedFieldsExtension) { $this->serializedFieldsExtension = $serializedFieldsExtension; } /** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $this->serializedFieldsExtension->addSerializedField( $schema->getTable('my_table'), 'my_serialized_field', 'string', [ 'extend' => [ 'owner' => ExtendScope::OWNER_CUSTOM, ] ] ); } }
要求
OroEntitySerializedFieldsBundle 需要 OROPlatform(BAP) 和 PHP 7.0 或更高版本。
安装
该包可通过 Oro 包管理器获得。出于开发目的,可以直接从 GitHub 仓库克隆。
git clone git@github.com:orocrm/OroEntitySerializedFieldsBundle.git
git submodule init
git submodule update
更新您的 composer.json 文件:
"autoload": {
"psr-0": {
...
"Oro\\Bundle": ["src/Oro/src", "src/OroPackages/src"],
...
}
},
php composer.phar update
php app/console oro:platform:update --force
运行单元测试
为此包运行单元测试:
phpunit -c PACKAGE_ROOT/phpunit.xml.dist