2016-08-05 33 views
2

Ich verwende Phinx für Datenbank-Migrationen.Phinx - Datenbankmigrationen für PHP-App - PostgreSQL-Schema funktioniert nicht

Es funktioniert nicht mit PostgreSQL-Schemas in meinem Fall (Beispiel test.table).

// create the table 
$table = $this->table('test.table'); 
$table->addColumn('test', 'integer') 
     ->create(); 

Wenn ich treffe, verursacht es einen Fehler. Gibt es dafür Lösungen?

Mein Fehler ist:

--> IMAGE ERROR

Der Fehler ist: "" Syntaxfehler oder innerhalb

Unterstützt Phinx Punktnotation in der table Methode?

+0

Was ist die Fehlermeldung? – fire

+0

Haben Sie den pgsql-Adapter für die Dokumentation angegeben? http://docs.phinx.org/en/latest/configuration.html#supported-adapters –

+0

Ich habe img mit Fehler [Bildfehler] – bfcior

Antwort

0

Sind Sie sicher, dass Sie die Punktnotation im Tabellennamen so verwenden können?

// create the table 
$table = $this->table('test_table'); 
$table->addColumn('test', 'integer') 
    ->create(); 

test.table würde folgen dem Muster databasename.tablename

+1

In postgreSQL Punktnotation folgt: 'schema.tablename' – bfcior

1

I alternative Lösung gefunden. Vor Änderungen in der Tabelle habe ich manuell das PostgreSQL-Schema ausgewählt.

// changing schema 
$this->getAdapter()->setOptions(array_replace($this->getAdapter()->getOptions(), ['schema' => 'your_schema'])); 

// create the table 
$table = $this->table('test_table'); 
$table->addColumn('test', 'integer') 
      ->create();