Код: Выделить всё
if ($this->db->driverName === 'mysql') {
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
}
$this->createTable('{{%reviews}}', [
'id' => $this->primaryKey(11),
'program_id' => $this->integer(7),
'title' => $this->string(255)->notNull(),
'status' => $this->smallInteger(1)->null()->defaultValue(null)
], $tableOptions);
}
Код: Выделить всё
$this->createTable('{{%programs}}', [
'id' => $this->primaryKey(7),
'name' => $this->string(256)->notNull(),
'link' => $this->string(256)->notNull()
], $tableOptions);
Код: Выделить всё
// creates index for column `id`
$this->createIndex(
'idx-program_id',
'{{%programs}}',
'id'
);
// creates index for column `id`
$this->createIndex(
'idx-review_id',
'{{%reviews}}',
'id'
);
// add foreign key for table `{{%programs}}`
$this->addForeignKey(
'fk-id-program_id-reviews',
'{{%programs}}',
'id',
'{{%reviews}}',
'program_id',
'CASCADE'
);
вылетает ошибка
Код: Выделить всё
> add foreign key fk-id-program_id-reviews: {{%programs}} (id) references {{%reviews}} (program_id) ...Exception: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
The SQL being executed was: ALTER TABLE `programs` ADD CONSTRAINT `fk-id-program_id-reviews` FOREIGN KEY (`id`) REFERENCES `reviews` (`program_id`) ON DELETE CASCADE (C:\OSPanel\domains\zummer.local\vendor\yiisoft\yii2\db\Schema.php:664)