1
我試圖創建一個自定義映射學說類型,按: http://doctrine-orm.readthedocs.org/projects/doctrine-dbal/en/latest/reference/types.html#custom-mapping-types學說自定義映射型架構更新
我班如下:
<?php
namespace AppBundle\Doctrine\Type;
use Doctrine\DBAL\Types\Type;
use Doctrine\DBAL\Platforms\AbstractPlatform;
/**
* My custom datatype.
*/
class BinaryStringType extends Type
{
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
{
return $platform->getBinaryTypeDeclarationSQL($fieldDeclaration);
}
public function getDefaultLength(AbstractPlatform $platform)
{
return $platform->getVarcharDefaultLength();
}
public function getName()
{
return 'binarystring';
}
}
?>
而且在config.yml doctrine
部分:
dbal:
types:
binarystring: AppBundle\Doctrine\Type\BinaryStringType
這(種)的作品,但是:運行php bin/console doctrine:schema:update
總是產生一個ALTER TABLE語句,無論如果數據庫是最新的或沒有。
ALTER TABLE xxxx CHANGE column column VARBINARY(24) DEFAULT NULL;
任何想法如何解決這個問題?
謝謝!
你是什麼意思生成一個'ALTER TABLE'語句,它生成的確切語句是什麼? –
@JasonRoman在問題中添加了「alter table」語句。 – Karolis