Commit 35a2556c authored by Benjamin Eberlei's avatar Benjamin Eberlei

Merge branch 'DBAL-461'

parents 143c2510 869f7daa
......@@ -59,10 +59,10 @@ abstract class AbstractSchemaManager
*
* @param \Doctrine\DBAL\Connection $conn
*/
public function __construct(\Doctrine\DBAL\Connection $conn)
public function __construct(\Doctrine\DBAL\Connection $conn, AbstractPlatform $platform = null)
{
$this->_conn = $conn;
$this->_platform = $this->_conn->getDatabasePlatform();
$this->_conn = $conn;
$this->_platform = $platform ?: $this->_conn->getDatabasePlatform();
}
/**
......
......@@ -49,7 +49,7 @@ class SQLServerSchemaManager extends AbstractSchemaManager
*/
protected function _getPortableTableColumnDefinition($tableColumn)
{
$dbType = $tableColumn['type'];
$dbType = strtok($tableColumn['type'], '(), ');
$fixed = null;
$length = (int) $tableColumn['length'];
$default = $tableColumn['default'];
......
<?php
namespace Doctrine\Tests\DBAL\Functional\Ticket;
use Doctrine\DBAL\Schema\SQLServerSchemaManager;
/**
* @group DBAL-461
*/
class DBAL461Test extends \PHPUnit_Framework_TestCase
{
public function testIssue()
{
$conn = $this->getMock('Doctrine\DBAL\Connection', array(), array(), '', false);
$platform = $this->getMockForAbstractClass('Doctrine\DBAL\Platforms\AbstractPlatform');
$platform->registerDoctrineTypeMapping('numeric', 'decimal');
$schemaManager = new SQLServerSchemaManager($conn, $platform);
$reflectionMethod = new \ReflectionMethod($schemaManager, '_getPortableTableColumnDefinition');
$reflectionMethod->setAccessible(true);
$column = $reflectionMethod->invoke($schemaManager, array(
'type' => 'numeric(18,0)',
'length' => null,
'default' => null,
'notnull' => false,
'scale' => 18,
'precision' => 0,
'autoincrement' => false,
'collation' => 'foo',
));
$this->assertEquals('Decimal', (string)$column->getType());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment