ich eine benutzerdefinierte Lehre Art geschaffen haben, wie in http://doctrine-orm.readthedocs.org/en/latest/cookbook/working-with-datetime.html sagteSymfony2 Lehre benutzerdefinierte Typen unnötige Migrationen zu erzeugen
Hier ist der Code:
<?php
namespace XXX\Bundle\XXXBundle\Doctrine\Type;
use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\DBAL\Types\ConversionException;
use Doctrine\DBAL\Types\DateTimeType;
class UTCDateTimeType extends DateTimeType
{
static private $utc = null;
public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
if ($value === null) {
return null;
}
$value->setTimezone(new \DateTimeZone('UTC'));
$dbDate = $value->format($platform->getDateTimeFormatString());
return $dbDate;
}
public function convertToPHPValue($value, AbstractPlatform $platform)
{
if ($value === null) {
return null;
}
$val = \DateTime::createFromFormat(
$platform->getDateTimeFormatString(),
$value,
(self::$utc) ? self::$utc : (self::$utc = new \DateTimeZone('UTC'))
);
if (!$val) {
throw ConversionException::conversionFailed($value, $this->getName());
}
return $val;
}
}
Das Problem ist, wenn ich laufe app/console doctrine:migrations:diff
es wird immer neue Migrationen erzeugen auch wenn ich migriert habe und der Inhalt immer gleich ist. Beispiel:
$this->addSql('ALTER TABLE Availability CHANGE start start DATETIME NOT NULL, CHANGE end end DATETIME NOT NULL, CHANGE rrule rrule LONGTEXT DEFAULT NULL, CHANGE created created DATETIME NOT NULL, CHANGE updated updated DATETIME NOT NULL');
Hinweis: Das Hinzufügen von 'requestsSQLCommentHint' löst das Problem nicht automatisch. 'Diff' ignoriert die Änderung. ** Sie müssen den Kommentar manuell hinzufügen. ** Ich habe ein Ticket dafür erstellt: http://www.doctrine-project.org/jira/browse/DBAL-1193 – vbence
@vbence Link ist kaputt Weißt du ob das? Fehler wurde behoben? – josecelano
@vence Wie kann ich den Kommentar manuell hinzufügen? Ich meine, welchen Text muss ich in den Kommentar schreiben? – josecelano