Yii Migrations - 向下步骤不按预期工作

时间:2014-01-15 10:39:23

标签: yii frameworks database-migration

我正在使用Yii 1.1.x - 我已经设置了一个迁移以在表中插入一行 - 这很好用,但是我遇到了down()方法似乎失败的问题

public function down()
{
    //echo "m140115_100413_add_national_text_key_to_national_prizes_config_table does not support migration down.\n";

    $this->delete(
            'national_prizes_config',"key = 'nationaltext'"
    );

    return false;
}

基本上我试图简单地删除表中键为'nationaltext'的行 - 运行Yii迁移命令时控制台日志中出现错误。

我收到以下错误(SQL相关)

You have an error in your syntax...
DELETE FROM national_prizes_config WHERE key = 'nationaltext''

我不明白为什么它有2个萎缩? 另外 - 为什么Yii会回应'不支持迁移,我做错了什么?

3 个答案:

答案 0 :(得分:1)

为什么不试试这个 -

 $this->delete(
        'national_prizes_config','`key` = :val',array(':val'=>'nationaltext')
);

或者如果您可以将密钥用作索引

$this->dropIndex('nationaltext','national_prizes_config');

答案 1 :(得分:1)

试试这个

$value='nationaltext';

$this->delete(
            'national_prizes_config',"key = $value"
    );

答案 2 :(得分:1)

这就是诀窍 - 多亏了原来的答案..

    $this->delete(
       'national_prizes_config','`key` = :val',array(':val'=>'nationaltext')
);