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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top