protected function inferJoinTableNameFromClassAndPropertyName($className, $propertyName)
{
$prefix = $this->inferTableNameFromClassName($className);
$suffix = '_' . strtolower($propertyName . '_join');
// In order to keep backwards compatibility with earlier versions, truncate the table name in two steps:
if (strlen($prefix . $suffix) > $this->getMaxIdentifierLength()) {
$prefix = $this->inferTableNameFromClassName($className, $this->getMaxIdentifierLength() - strlen($suffix));
}
// Truncate a second time if the property name was too long as well:
if (strlen($prefix . $suffix) > $this->getMaxIdentifierLength()) {
return $this->truncateIdentifier($prefix . $suffix, $this->getMaxIdentifierLength());
} else {
return $prefix . $suffix;
}
}