Closed
Description
Inversed reference for detect junction table require CASCADE.
Input
title: Document
properties:
id:
type: integer
labels:
type: array
readOnly: true
description: Inversed reference for detect junction table documents2labels
items:
$ref: '#/components/schemas/Label'
title: Label
properties:
id:
type: integer
documents:
type: array
readOnly: true
description: Inversed reference for detect junction table documents2labels
items:
$ref: '#/components/schemas/Document'
Migration Actual
public function safeUp()
{
$this->createTable('{{%documents2labels}}', [
'document_id' => $this->integer()->notNull(),
'label_id' => $this->integer()->notNull(),
]);
$this->addPrimaryKey('pk_document_id_label_id', '{{%documents2labels}}', 'document_id,label_id');
$this->addForeignKey('fk_documents2labels_document_id_documents_id', '{{%documents2labels}}', 'document_id', '{{%documents}}', 'id');
$this->addForeignKey('fk_documents2labels_label_id_labels_id', '{{%documents2labels}}', 'label_id', '{{%labels}}', 'id');
}
public function safeDown()
{
$this->dropForeignKey('fk_documents2labels_label_id_labels_id', '{{%documents2labels}}');
$this->dropForeignKey('fk_documents2labels_document_id_documents_id', '{{%documents2labels}}');
$this->dropPrimaryKey('pk_document_id_label_id', '{{%documents2labels}}');
$this->dropTable('{{%documents2labels}}');
}
Migration Expected
public function safeUp()
{
$this->createTable('{{%documents2labels}}', [
'document_id' => $this->integer()->notNull(),
'label_id' => $this->integer()->notNull(),
]);
$this->addPrimaryKey('pk_document_id_label_id', '{{%documents2labels}}', 'document_id,label_id');
$this->addForeignKey('fk_documents2labels_document_id_documents_id', '{{%documents2labels}}', 'document_id', '{{%documents}}', 'id', 'CASCADE');
$this->addForeignKey('fk_documents2labels_label_id_labels_id', '{{%documents2labels}}', 'label_id', '{{%labels}}', 'id', 'CASCADE');
}
public function safeDown()
{
$this->dropForeignKey('fk_documents2labels_label_id_labels_id', '{{%documents2labels}}');
$this->dropForeignKey('fk_documents2labels_document_id_documents_id', '{{%documents2labels}}');
$this->dropPrimaryKey('pk_document_id_label_id', '{{%documents2labels}}');
$this->dropTable('{{%documents2labels}}');
}
Metadata
Metadata
Assignees
Labels
No labels