setTable('sync_object_field_change_report') ->setCustomRepositoryClass(FieldChangeRepository::class) ->addIndex(['object_type', 'object_id', 'column_name'], 'object_composite_key') ->addIndex(['integration', 'object_type', 'object_id', 'column_name'], 'integration_object_composite_key') ->addIndex(['integration', 'object_type', 'modified_at'], 'integration_object_type_modification_composite_key'); $builder->addId(); $builder ->createField('integration', Types::STRING) ->build(); $builder->addBigIntIdField('objectId', 'object_id', false); $builder ->createField('objectType', Types::STRING) ->columnName('object_type') ->build(); $builder ->createField('modifiedAt', Types::DATETIME_MUTABLE) ->columnName('modified_at') ->build(); $builder ->createField('columnName', Types::STRING) ->columnName('column_name') ->build(); $builder ->createField('columnType', Types::STRING) ->columnName('column_type') ->build(); $builder ->createField('columnValue', Types::TEXT) ->columnName('column_value') ->build(); } /** * @return int */ public function getId() { return $this->id; } public function getIntegration(): string { return $this->integration; } /** * @param string $integration * * @return FieldChange */ public function setIntegration($integration) { $this->integration = $integration; return $this; } public function setObjectId(int $id): self { $this->objectId = (string) $id; return $this; } public function getObjectId(): int { return (int) $this->objectId; } public function setObjectType(string $type): self { $this->objectType = $type; return $this; } public function getObjectType(): string { return $this->objectType; } public function setModifiedAt(\DateTime $time): self { $this->modifiedAt = $time; return $this; } public function getModifiedAt(): \DateTimeInterface { return $this->modifiedAt; } public function setColumnName(string $name): self { $this->columnName = $name; return $this; } public function getColumnName(): string { return $this->columnName; } public function setColumnType(string $type): self { $this->columnType = $type; return $this; } public function getColumnType(): string { return $this->columnType; } public function setColumnValue(string $value): self { $this->columnValue = $value; return $this; } public function getColumnValue(): string { return $this->columnValue; } }