Fix CS
This commit is contained in:
parent
b9d94e7bf0
commit
65efda425f
@ -649,37 +649,47 @@ class ClassMetadataFactory implements ClassMetadataFactoryInterface
|
||||
// <table>_<column>_seq in PostgreSQL for SERIAL columns.
|
||||
// Not pretty but necessary and the simplest solution that currently works.
|
||||
$sequenceName = null;
|
||||
|
||||
if($this->targetPlatform instanceof Platforms\PostgreSQLPlatform) {
|
||||
$fieldName = $class->getSingleIdentifierFieldName();
|
||||
$columnName = $class->getSingleIdentifierColumnName();
|
||||
$quoted = isset($class->fieldMappings[$fieldName]['quoted']) || isset($class->table['quoted']);
|
||||
$sequenceName = $class->getTableName() . '_' . $columnName . '_seq';
|
||||
$definition = array(
|
||||
$definition = array(
|
||||
'sequenceName' => $this->targetPlatform->fixSchemaElementName($sequenceName)
|
||||
);
|
||||
|
||||
if ($quoted) {
|
||||
$definition['quoted'] = true;
|
||||
}
|
||||
|
||||
$sequenceName = $this->em->getConfiguration()->getQuoteStrategy()->getSequenceName($definition, $class, $this->targetPlatform);
|
||||
}
|
||||
|
||||
$class->setIdGenerator(new \Doctrine\ORM\Id\IdentityGenerator($sequenceName));
|
||||
break;
|
||||
case ClassMetadata::GENERATOR_TYPE_SEQUENCE:
|
||||
// If there is no sequence definition yet, create a default definition
|
||||
$definition = $class->sequenceGeneratorDefinition;
|
||||
|
||||
if ( ! $definition) {
|
||||
$fieldName = $class->getSingleIdentifierFieldName();
|
||||
$columnName = $class->getSingleIdentifierColumnName();
|
||||
$quoted = isset($class->fieldMappings[$fieldName]['quoted']) || isset($class->table['quoted']);
|
||||
$sequenceName = $class->getTableName() . '_' . $columnName . '_seq';
|
||||
$definition['sequenceName'] = $this->targetPlatform->fixSchemaElementName($sequenceName);
|
||||
$definition['allocationSize'] = 1;
|
||||
$definition['initialValue'] = 1;
|
||||
$definition = array(
|
||||
'sequenceName' => $this->targetPlatform->fixSchemaElementName($sequenceName),
|
||||
'allocationSize' => 1,
|
||||
'initialValue' => 1,
|
||||
);
|
||||
|
||||
if ($quoted) {
|
||||
$definition['quoted'] = true;
|
||||
}
|
||||
|
||||
$class->setSequenceGeneratorDefinition($definition);
|
||||
}
|
||||
|
||||
$sequenceGenerator = new \Doctrine\ORM\Id\SequenceGenerator(
|
||||
$this->em->getConfiguration()->getQuoteStrategy()->getSequenceName($definition, $class, $this->targetPlatform),
|
||||
$definition['allocationSize']
|
||||
|
@ -1181,11 +1181,11 @@ class ClassMetadataInfo implements ClassMetadata
|
||||
// Complete fieldName and columnName mapping
|
||||
if ( ! isset($mapping['columnName'])) {
|
||||
$mapping['columnName'] = $this->namingStrategy->propertyToColumnName($mapping['fieldName']);
|
||||
} else {
|
||||
if ($mapping['columnName'][0] == '`') {
|
||||
$mapping['columnName'] = trim($mapping['columnName'], '`');
|
||||
$mapping['quoted'] = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($mapping['columnName'][0] === '`') {
|
||||
$mapping['columnName'] = trim($mapping['columnName'], '`');
|
||||
$mapping['quoted'] = true;
|
||||
}
|
||||
|
||||
$this->columnNames[$mapping['fieldName']] = $mapping['columnName'];
|
||||
@ -1295,8 +1295,8 @@ class ClassMetadataInfo implements ClassMetadata
|
||||
// Mandatory and optional attributes for either side
|
||||
if ( ! $mapping['mappedBy']) {
|
||||
if (isset($mapping['joinTable']) && $mapping['joinTable']) {
|
||||
if (isset($mapping['joinTable']['name']) && $mapping['joinTable']['name'][0] == '`') {
|
||||
$mapping['joinTable']['name'] = trim($mapping['joinTable']['name'], '`');
|
||||
if (isset($mapping['joinTable']['name']) && $mapping['joinTable']['name'][0] === '`') {
|
||||
$mapping['joinTable']['name'] = trim($mapping['joinTable']['name'], '`');
|
||||
$mapping['joinTable']['quoted'] = true;
|
||||
}
|
||||
}
|
||||
@ -1382,14 +1382,14 @@ class ClassMetadataInfo implements ClassMetadata
|
||||
$joinColumn['referencedColumnName'] = $this->namingStrategy->referenceColumnName();
|
||||
}
|
||||
|
||||
if ($joinColumn['name'][0] == '`') {
|
||||
if ($joinColumn['name'][0] === '`') {
|
||||
$joinColumn['name'] = trim($joinColumn['name'], '`');
|
||||
$joinColumn['quoted'] = true;
|
||||
}
|
||||
|
||||
if ($joinColumn['referencedColumnName'][0] == '`') {
|
||||
$joinColumn['referencedColumnName'] = trim($joinColumn['referencedColumnName'], '`');
|
||||
$joinColumn['quoted'] = true;
|
||||
if ($joinColumn['referencedColumnName'][0] === '`') {
|
||||
$joinColumn['referencedColumnName'] = trim($joinColumn['referencedColumnName'], '`');
|
||||
$joinColumn['quoted'] = true;
|
||||
}
|
||||
|
||||
$mapping['sourceToTargetKeyColumns'][$joinColumn['name']] = $joinColumn['referencedColumnName'];
|
||||
@ -1477,14 +1477,14 @@ class ClassMetadataInfo implements ClassMetadata
|
||||
$joinColumn['referencedColumnName'] = $this->namingStrategy->referenceColumnName();
|
||||
}
|
||||
|
||||
if ($joinColumn['name'][0] == '`') {
|
||||
if ($joinColumn['name'][0] === '`') {
|
||||
$joinColumn['name'] = trim($joinColumn['name'], '`');
|
||||
$joinColumn['quoted'] = true;
|
||||
}
|
||||
|
||||
if ($joinColumn['referencedColumnName'][0] == '`') {
|
||||
$joinColumn['referencedColumnName'] = trim($joinColumn['referencedColumnName'], '`');
|
||||
$joinColumn['quoted'] = true;
|
||||
if ($joinColumn['referencedColumnName'][0] === '`') {
|
||||
$joinColumn['referencedColumnName'] = trim($joinColumn['referencedColumnName'], '`');
|
||||
$joinColumn['quoted'] = true;
|
||||
}
|
||||
|
||||
if (isset($joinColumn['onDelete']) && strtolower($joinColumn['onDelete']) == 'cascade') {
|
||||
@ -1504,14 +1504,14 @@ class ClassMetadataInfo implements ClassMetadata
|
||||
$inverseJoinColumn['referencedColumnName'] = $this->namingStrategy->referenceColumnName();
|
||||
}
|
||||
|
||||
if ($inverseJoinColumn['name'][0] == '`') {
|
||||
if ($inverseJoinColumn['name'][0] === '`') {
|
||||
$inverseJoinColumn['name'] = trim($inverseJoinColumn['name'], '`');
|
||||
$inverseJoinColumn['quoted'] = true;
|
||||
}
|
||||
|
||||
if ($inverseJoinColumn['referencedColumnName'][0] == '`') {
|
||||
$inverseJoinColumn['referencedColumnName'] = trim($inverseJoinColumn['referencedColumnName'], '`');
|
||||
$inverseJoinColumn['quoted'] = true;
|
||||
if ($inverseJoinColumn['referencedColumnName'][0] === '`') {
|
||||
$inverseJoinColumn['referencedColumnName'] = trim($inverseJoinColumn['referencedColumnName'], '`');
|
||||
$inverseJoinColumn['quoted'] = true;
|
||||
}
|
||||
|
||||
if (isset($inverseJoinColumn['onDelete']) && strtolower($inverseJoinColumn['onDelete']) == 'cascade') {
|
||||
@ -1984,12 +1984,12 @@ class ClassMetadataInfo implements ClassMetadata
|
||||
public function setPrimaryTable(array $table)
|
||||
{
|
||||
if (isset($table['name'])) {
|
||||
if ($table['name'][0] == '`') {
|
||||
$this->table['name'] = str_replace("`", "", $table['name']);
|
||||
$this->table['quoted'] = true;
|
||||
} else {
|
||||
$this->table['name'] = $table['name'];
|
||||
if ($table['name'][0] === '`') {
|
||||
$table['name'] = trim($table['name'], '`');
|
||||
$this->table['quoted'] = true;
|
||||
}
|
||||
|
||||
$this->table['name'] = $table['name'];
|
||||
}
|
||||
|
||||
if (isset($table['indexes'])) {
|
||||
|
@ -30,7 +30,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform;
|
||||
*/
|
||||
class DefaultQuoteStrategy implements QuoteStrategy
|
||||
{
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
@ -108,7 +107,8 @@ class DefaultQuoteStrategy implements QuoteStrategy
|
||||
// Association defined as Id field
|
||||
$joinColumns = $class->associationMappings[$fieldName]['joinColumns'];
|
||||
$assocQuotedColumnNames = array_map(
|
||||
function ($joinColumn) use ($platform) {
|
||||
function ($joinColumn) use ($platform)
|
||||
{
|
||||
return isset($joinColumn['quoted'])
|
||||
? $platform->quoteIdentifier($joinColumn['name'])
|
||||
: $joinColumn['name'];
|
||||
|
@ -30,7 +30,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform;
|
||||
*/
|
||||
interface QuoteStrategy
|
||||
{
|
||||
|
||||
/**
|
||||
* Gets the (possibly quoted) column name for safe use in an SQL statement.
|
||||
*
|
||||
|
@ -463,6 +463,7 @@ class BasicEntityPersister
|
||||
if ( ! isset($mapping['isOnDeleteCascade'])) {
|
||||
|
||||
$joinTableName = $this->quoteStrategy->getJoinTableName($mapping, $this->_class, $this->_platform);
|
||||
|
||||
$this->_conn->delete($joinTableName, array_combine($keys, $identifier));
|
||||
|
||||
if ($selfReferential) {
|
||||
@ -486,9 +487,11 @@ class BasicEntityPersister
|
||||
public function delete($entity)
|
||||
{
|
||||
$identifier = $this->_em->getUnitOfWork()->getEntityIdentifier($entity);
|
||||
|
||||
$this->deleteJoinTableRecords($identifier);
|
||||
|
||||
$id = array_combine($this->quoteStrategy->getIdentifierColumnNames($this->_class, $this->_platform), $identifier);
|
||||
|
||||
$this->_conn->delete($this->quoteStrategy->getTableName($this->_class, $this->_platform), $id);
|
||||
}
|
||||
|
||||
@ -558,10 +561,10 @@ class BasicEntityPersister
|
||||
$owningTable = $this->getOwningTable($field);
|
||||
|
||||
foreach ($assoc['joinColumns'] as $joinColumn) {
|
||||
$sourceColumn = $joinColumn['name'];
|
||||
$targetColumn = $joinColumn['referencedColumnName'];
|
||||
|
||||
$sourceColumn = $joinColumn['name'];
|
||||
$targetColumn = $joinColumn['referencedColumnName'];
|
||||
$quotedColumn = $this->quoteStrategy->getJoinColumnName($joinColumn, $this->_class, $this->_platform);
|
||||
|
||||
$this->quotedColumns[$sourceColumn] = $quotedColumn;
|
||||
|
||||
if ($newVal === null) {
|
||||
@ -1113,6 +1116,7 @@ class BasicEntityPersister
|
||||
$resultColumnName = $this->getSQLColumnAlias($joinColumn['name']);
|
||||
$columnList .= $this->_getSQLTableAlias($class->name, ($alias == 'r' ? '' : $alias) )
|
||||
. '.' . $quotedColumn . ' AS ' . $resultColumnName;
|
||||
|
||||
$this->_rsm->addMetaResult($alias, $resultColumnName, $quotedColumn, isset($assoc['id']) && $assoc['id'] === true);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user