Domanda

Sto avendo alcuni problemi con l'alterazione di un tavolo nelle migrazioni della dottrina 2. A seguito di codice genera sempre l'errore: Operazione 'Doctrine \ DBAL \ Platforms \ AbstractPlatform :: getAlterTableSQL' non è supportato da piattaforma .

Questo è strano come alter table è supportato da SQLite.

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

Soluzione

è minima rispetto alla maggior parte altri database http://www.sqlite.org/lang_altertable.html ), quindi perché è considerata come non supportato dal dottrina DBAL.

Altri suggerimenti

Ci sono alcune differenze fastidiosi che ho notato tra MySQL e SQLite quando si utilizza un ORM. Utilizzando Dottrina, ho scoperto che le relazioni di chiave esterna non sono mantenuti in SQLite come se fossero in MySQL.

Questo è un dolore mentre uso SQLite in DBS memoria per i test unitari come non posso garantire che i test di persistenza che passano in SQLite passare anche in MySQL.

In realtà, per ottenere SQLite in DBS memoria per funzionare con Doctrine, ho dovuto modificare il driver Dottrina SQLite (codice a http://thecodeabode.blogspot.com/2010/12/dropping-sqlite-in-memory-databases-in.html ) come sql sintassi generata per far cadere un database fallisce per in DBS di memoria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top