yii-dbmigrations no tiene un método llamado "performTransactional"
-
27-10-2019 - |
Pregunta
Tengo un nuevo problema al usar la última versión de yii-dbmigration, cuando ejecuto la migración, la consola muestra el siguiente mensaje y la migración no funciona.
$ ./protected/yiic migrate
Migrations directory: protected/migrations/
=== Applying: m20110123200901_create_eav_table =================================
ERROR: m20110123200901_create_eav_table does not have a method named "performTransactional".
El código de migración es:
<?php
class m20110123200901_create_eav_table extends CDbMigration {
public function up() {
$t = $this->newTable('eav');
$t->primary_key('id');
$t->integer('section_id');
$t->integer('entry_id');
$t->integer('field_id');
$t->string('attribute');
$t->text('value');
$t->datetime('created_at');
$t->datetime('updated_at');
$this->addTable($t);
}
public function down() {
$this->removeTable('eav');
}
}
¿Alguien sabe lo que sucede?
Gracias.
Editado
Hola chicos, Encontré el problema, pero no conozco la solución.
El problema ocurre en Yii v1.1.7-dev, cuando estoy usando otra versión (como v1.1.5-dev), las migraciones funcionan correctamente.
¿Alguien sabe cómo solucionarlo?
Gracias.
Solución
Ok, chicos, encontré el problema y la solución.
Estaba usando la extensión yii-dbmigration, y yii tiene una implementación de migraciones desde v1.1.6, por lo que las dos versiones estaban en conflicto cuando ejecuté las migraciones.
La solución es desinstalar la extensión y usar la nueva migración nativa.
Una opinión personal sobre la característica de migración nativa de yii y la extensión de yii db-migration es que a la segunda le gusta más fácil y elegante trabajar porque tiene una gran implementación de oop en el método up / down.
Gracias