2013-08-08 1 views
0

safeUp() 메소드에서 Yii db migration을 사용하여 테이블을 만들려고합니다. 그러나 "./yiic migrate"명령을 사용하면 성공적으로 실행되지만 테이블은 데이터베이스에 나타나지 않습니다. 마이그레이션 파일에서 다음은 코드 :Yii Framework - yic migrate 명령이 작동하지 않습니다.

<?php 

class m130808_123826_test_table extends CDbMigration 
{ 

    public function up() 
{ 
} 

public function down() 
{ 
    echo "m130808_123826_test_table does not support migration down.\n"; 
    return false; 
} 

public function safeUp() 
{ 
    $this->createTable('tbl_test', array(
    'test_field1' => 'int(10)', 
    'test_field2' => 'string NOT NULL', 
    ), 'ENGINE=InnoDB'); 
} 

public function safeDown() 
{ 
    $this->dropTable('tbl_test'); 
} 

} 

나는, 유사한 문제 등에 의견에서 몇 가지 제안을 사용하여 시도 마이그레이션 명령 또는 'safeUp'매개 변수를 ''제공. 나는 또한 console.php 파일을 확인하고 올바른 데이터베이스로 구성되었습니다. 데이터베이스에 테이블을 만들지 않은 이유는 무엇입니까?

답변

0

up 또는 safeUp 방법을 제공해야합니다. 따라서 수업에서 빈 up 메소드를 삭제하십시오.

<?php 

class m130808_123826_test_table extends CDbMigration 
{ 

public function down() 
{ 
    echo "m130808_123826_test_table does not support migration down.\n"; 
    return false; 
} 

public function safeUp() 
{ 
    $this->createTable('tbl_test', array(
    'test_field1' => 'int(10)', 
    'test_field2' => 'string NOT NULL', 
    ), 'ENGINE=InnoDB'); 
} 

public function safeDown() 
{ 
    $this->dropTable('tbl_test'); 
} 

} 
+0

멋진! 고맙습니다 – Davit