我拿到了模特考试和试题。简化代码:
class Exam {
public function questions() {
return $this->hasMany('Question');
}
// ...
}
class Question {
public function exam() {
return $this->belongsTo('Exam');
}
// ...
}
现在我想上传一个带有考试数据的文件。解析器类应该在不保存的情况下创建考试。然后,逐渐地,
我试图在firebird表中添加一列。该列应该有一个默认值1,但是对于已经存在的行,该值应该设置为0。这种情况应该发生在一笔交易中。
我试过了
ALTER TABLE MYTABLE ADD MYCOLUMN SMALLINT DEFAULT 1 NOT NULL;
UPDATE MYTABLE SET MYCOLUMN = 0;
但这在一个事务中是不允许的,因为更新将看不到新列。我也试过:
ALTER TABLE MYTABLE ADD MYCOLUMN SMALLINT DEFAULT 0 NOT NULL;
ALTER TABLE MYTABLE ALTER COLUMN MYCOLU