Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
InstallSchema Class Reference
Inheritance diagram for InstallSchema:
InstallSchemaInterface InstallSchemaInterface InstallSchemaInterface

Public Member Functions

 install (SchemaSetupInterface $setup, ModuleContextInterface $context)
 
 install (SchemaSetupInterface $setup, ModuleContextInterface $context)
 
 install (SchemaSetupInterface $setup, ModuleContextInterface $context)
 

Detailed Description

@codeCoverageIgnore

InstallSchema mock class

Definition at line 17 of file InstallSchema.php.

Member Function Documentation

◆ install() [1/3]

install ( SchemaSetupInterface  $setup,
ModuleContextInterface  $context 
)

{Installs DB schema for a module

Parameters
SchemaSetupInterface$setup
ModuleContextInterface$context
Returns
void
}

@SuppressWarnings(PHPMD.ExcessiveMethodLength)

Implements InstallSchemaInterface.

Definition at line 23 of file InstallSchema.php.

24  {
26 
27  $installer->startSetup();
28 
29  //Create first table
30  $table = $installer->getConnection()
31  ->newTable($installer->getTable('reference_table'))
32  ->addColumn(
33  'smallint_ref',
34  \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
35  3,
36  ['primary' => true, 'identity' => true, 'nullable' => false],
37  'Smallint'
38  )
39  ->setComment('Reference table');
40  $installer->getConnection()->createTable($table);
41 
42  $testTable = $installer->getConnection()->newTable('test_table')
43  ->addColumn(
44  'smallint',
45  \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
46  2,
47  ['nullable' => true, 'default' => 0],
48  'Smallint'
49  )
50  ->addColumn(
51  'bigint',
52  \Magento\Framework\DB\Ddl\Table::TYPE_BIGINT,
53  10,
54  ['nullable' => true, 'unsigned' => false, 'default' => 0],
55  'Bigint'
56  )
57  ->addColumn(
58  'float',
59  \Magento\Framework\DB\Ddl\Table::TYPE_FLOAT,
60  null,
61  ['default' => 0],
62  'Float'
63  )
64  ->addColumn(
65  'date',
66  \Magento\Framework\DB\Ddl\Table::TYPE_DATE,
67  null,
68  [],
69  'Date'
70  )
71  ->addColumn(
72  'timestamp',
73  \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
74  null,
75  ['default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
76  'Timestamp'
77  )
78  ->addColumn(
79  'mediumtext',
80  \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
81  11222222,
82  [],
83  'Mediumtext'
84  )
85  ->addColumn(
86  'varchar',
87  \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
88  254,
89  ['nullable' => true],
90  'Varchar'
91  )
92  ->addColumn(
93  'boolean',
94  \Magento\Framework\DB\Ddl\Table::TYPE_BOOLEAN,
95  1,
96  [],
97  'Boolean'
98  )
99  ->addIndex(
100  $installer->getIdxName($installer->getTable('test_table'), ['smallint', 'bigint']),
101  ['smallint', 'bigint'],
102  ['type' => \Magento\Framework\DB\Adapter\Pdo\Mysql::INDEX_TYPE_UNIQUE]
103  )
104  ->addIndex(
105  $installer->getIdxName($installer->getTable('test_table'), ['bigint']),
106  ['bigint']
107  )
108  ->addForeignKey(
109  $installer->getFkName(
110  $installer->getTable('test_table'),
111  'smallint',
112  $installer->getTable('reference_table'),
113  'smallint_ref'
114  ),
115  'smallint',
116  $installer->getTable('reference_table'),
117  'smallint_ref',
119  )
120  ->setComment('Test Table');
121  $installer->getConnection()->createTable($testTable);
122 
123  $installer->endSetup();
124  }
$setup
Definition: trigger.php:12
$table
Definition: trigger.php:14

◆ install() [2/3]

install ( SchemaSetupInterface  $setup,
ModuleContextInterface  $context 
)

{Installs DB schema for a module

Parameters
SchemaSetupInterface$setup
ModuleContextInterface$context
Returns
void
}

@SuppressWarnings(PHPMD.ExcessiveMethodLength)

Implements InstallSchemaInterface.

Definition at line 23 of file InstallSchema.php.

24  {
26  $installer->startSetup();
27  $installer->endSetup();
28  }
$setup
Definition: trigger.php:12

◆ install() [3/3]

install ( SchemaSetupInterface  $setup,
ModuleContextInterface  $context 
)

{Installs DB schema for a module

Parameters
SchemaSetupInterface$setup
ModuleContextInterface$context
Returns
void
}

@SuppressWarnings(PHPMD.ExcessiveMethodLength)

Implements InstallSchemaInterface.

Definition at line 24 of file InstallSchema.php.

25  {
27 
28  $installer->startSetup();
29 
30  //Create first table
31  $table = $installer->getConnection()
32  ->newTable($installer->getTable('reference_table'))
33  ->addColumn(
34  'smallint_ref',
35  \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
36  3,
37  ['primary' => true, 'identity' => true, 'nullable' => false],
38  'Smallint'
39  )
40  ->setComment('Reference table');
41  $installer->getConnection()->createTable($table);
42 
43  $testTable = $installer->getConnection()->newTable($installer->getTable('test_table'))
44  ->addColumn(
45  'smallint',
46  \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
47  2,
48  ['nullable' => true, 'default' => 0],
49  'Smallint'
50  )
51  ->addColumn(
52  'bigint',
53  \Magento\Framework\DB\Ddl\Table::TYPE_BIGINT,
54  10,
55  ['nullable' => true, 'unsigned' => false, 'default' => 0],
56  'Bigint'
57  )
58  ->addColumn(
59  'float',
60  \Magento\Framework\DB\Ddl\Table::TYPE_FLOAT,
61  null,
62  ['default' => 0],
63  'Float'
64  )
65  ->addColumn(
66  'date',
67  \Magento\Framework\DB\Ddl\Table::TYPE_DATE,
68  null,
69  [],
70  'Date'
71  )
72  ->addColumn(
73  'timestamp',
74  \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
75  null,
76  ['default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
77  'Timestamp'
78  )
79  ->addColumn(
80  'mediumtext',
81  \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
82  11222222,
83  [],
84  'Mediumtext'
85  )
86  ->addColumn(
87  'varchar',
88  \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
89  254,
90  ['nullable' => true],
91  'Varchar'
92  )
93  ->addColumn(
94  'boolean',
95  \Magento\Framework\DB\Ddl\Table::TYPE_BOOLEAN,
96  1,
97  [],
98  'Boolean'
99  )
100  ->addIndex(
101  $installer->getIdxName('test_table', ['smallint', 'bigint']),
102  ['smallint', 'bigint'],
104  )
105  ->addIndex(
106  $installer->getIdxName('test_table', ['bigint']),
107  ['bigint']
108  )
109  ->addForeignKey(
110  $installer->getFkName(
111  $installer->getTable('test_table'),
112  'smallint',
113  'reference_table',
114  'smallint_ref'
115  ),
116  'smallint',
117  $installer->getTable('reference_table'),
118  'smallint_ref',
120  )
121  ->setComment('Test Table');
122  $installer->getConnection()->createTable($testTable);
123 
124  $installer->endSetup();
125  }
$setup
Definition: trigger.php:12
$table
Definition: trigger.php:14

The documentation for this class was generated from the following file: