Frage

Ich habe einige Probleme mit mit Ändern einer Tabelle in den Migrationen der Lehre 2. Nach Code immer führt den Fehler: Operation ‚Lehre \ DBAL \ Platforms \ AbstractPlatform :: getAlterTableSQL‘ wird nicht von Plattform unterstützt .

Das ist so seltsam alte table von SQLite unterstützt wird.

public function up(Schema $schema)
{
    $user = $schema->getTable('user');
    $user->addColumn('resellerId', 'integer', array(
        'length'        => '10',
        'notnull'       => true,
        'unsigned'      => true,
    ));
}
War es hilfreich?

Lösung

Auch wenn ALTER TABLE wird "unterstützt" von SQLite, die Menge der erlaubten Operationen ist minimal im Vergleich zu den meisten anderen Datenbanken ( http://www.sqlite.org/lang_altertable.html ), also warum es gilt als nicht von der Lehre DBAL unterstützt.

Andere Tipps

Es gibt ein paar Unterschiede niggling ich zwischen MySQL und SQLite bemerkt haben, wenn ein ORM verwenden. Mit Lehre fand ich, dass Fremdschlüsselbeziehungen werden in SQLite nicht beibehalten, wie sie in MySQL sind.

Dies ist ein Schmerz, als ich SQLite im Speicher dbs für Unit-Tests, da ich nicht, dass die Persistenz Tests garantieren kann, die auch in MySQL passiere in SQLite übergeben.

Eigentlich bekommen SQLite im Speicher dbs zur Arbeit mit Lehre, ich hatte die Lehre SQLite-Treiber (Code unter http://thecodeabode.blogspot.com/2010/12/dropping-sqlite-in-memory-databases-in.html ) als sQL-Syntax erzeugt für Löschen einer Datenbank nicht für im Speicher dbs.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top