Sqlite 3添加外键错误php yii

Sqlite 3添加外键错误php yii,php,sqlite,yii,Php,Sqlite,Yii,我正在尝试向表中添加外键,但当我尝试添加外键时,会收到: SQLite不支持向现有表中添加外键约束 $this->addForeignKey('fk_user', 'tbl_data', 'id_responsable','tbl_user', 'id', 'CASCADE'); $this->createTable('tbl_data', array( 'id' => 'pk', 'name' =>

我正在尝试向表中添加外键,但当我尝试添加外键时,会收到:

SQLite不支持向现有表中添加外键约束

    $this->addForeignKey('fk_user', 'tbl_data', 'id_responsable','tbl_user', 'id', 'CASCADE');

    $this->createTable('tbl_data', array(
              'id' => 'pk',
              'name' => 'string',
      'id_responsable' => 'integer',
    ));

这是预期行为,请参见来源:

我假设这是一个跨不同DBMS的可移植代码(如果不是,并且只在sqlite上工作,就不要在那里调用:p)

如果您想覆盖这个功能,您必须扩展Sqlite模式类,然后您的应用程序将陷入一个麻烦的世界

根据Yii::app()->db->driverName,您最好关闭add外键。如果它==sqlite,则不要添加外键

或者做一些黑客涂鸦来保存表,用外键重新创建它,然后再次加载所有数据

public function addForeignKey($name, $table, $columns, $refTable, $refColumns, $delete=null, $update=null)
{
    throw new CDbException(Yii::t('yii', 'Adding a foreign key constraint to an existing table is not supported by SQLite.'));
}