Skip to content

Instantly share code, notes, and snippets.

@NicolasMugnier
Created August 10, 2016 13:32
Show Gist options
  • Select an option

  • Save NicolasMugnier/c5dcc2ad0511d87269de9d54e782ec68 to your computer and use it in GitHub Desktop.

Select an option

Save NicolasMugnier/c5dcc2ad0511d87269de9d54e782ec68 to your computer and use it in GitHub Desktop.
Magento2 : add foreign keys
<?php
class UpgradeSchema implements UpgradeSchemaInterface
{
/**
* {@inheritdoc}
*/
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context){
$setup->startSetup();
if(version_compare($context->getVersion(), '0.0.11', '<')){
// update column in order to have same definition between tables
$setup->getConnection()->modifyColumn(
$setup->getTable('some_table'),
'some_column',
['type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'unsigned' => true, 'nullable' => false]
);
$setup->getConnection()->addForeignKey(
$setup->getFkName('some_table', 'some_column', $setup->getTable('ref_table'), 'ref_column'),
$setup->getTable('some_table'),
'some_column',
$setup->getTable('ref_table'),
'ref_column',
\Magento\Framework\DB\Ddl\Table::ACTION_NO_ACTION
);
}
$setup->endSetup();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment