6 declare(strict_types=1);
32 private $objectManagerHelper;
34 protected function setUp() : void
36 $this->objectManagerHelper =
new ObjectManagerHelper($this);
37 $this->model = $this->objectManagerHelper->getObject(
38 \
Magento\Framework\Setup\SchemaListener::class,
40 'definitionMappers' => [
49 $this->model->flush();
59 $table->setOption(
'type',
'innodb');
65 'Column with type timestamp init update' 70 [
'nullable' =>
false,
'primary' =>
true,
'identity' =>
true],
76 [
'unsigned' =>
false,
'nullable' =>
false],
81 [
'column_with_type_text'],
88 'column_with_type_integer',
97 $this->model->setModuleName(
'First_Module');
98 $this->model->createTable($this->getCreateTableDDL(
'old_table'));
99 $this->model->renameTable(
'old_table',
'new_table');
100 $tables = $this->model->getTables();
101 self::assertArrayHasKey(
'new_table', $tables[
'First_Module']);
102 self::assertArrayNotHasKey(
'old_table', $tables[
'First_Module']);
107 $this->model->setModuleName(
'First_Module');
108 $this->model->createTable($this->getCreateTableDDL(
'index_table'));
109 $this->model->dropIndex(
'index_table',
'INDEX_KEY',
'index');
110 self::assertTrue($this->model->getTables()[
'First_Module'][
'index_table'][
'indexes'][
'INDEX_KEY'][
'disabled']);
115 $this->model->setModuleName(
'First_Module');
116 $this->model->createTable($this->getCreateTableDDL(
'new_table'));
117 $tables = $this->model->getTables();
118 self::assertArrayHasKey(
'new_table', $tables[
'First_Module']);
123 'xsi:type' =>
'timestamp',
124 'name' =>
'timestamp',
127 'default' =>
'CURRENT_TIMESTAMP',
145 'xsi:type' =>
'decimal',
156 $tables[
'First_Module'][
'new_table'][
'columns']
169 'INTEGER' =>
'integer',
177 'table' =>
'new_table',
178 'column' =>
'decimal',
179 'referenceTable' =>
'setup_tests_table1',
180 'referenceColumn' =>
'column_with_type_integer',
181 'onDelete' =>
'CASCADE',
186 $tables[
'First_Module'][
'new_table'][
'constraints']
195 'column_with_type_text' =>
'column_with_type_text',
197 'indexType' =>
'fulltext',
201 $tables[
'First_Module'][
'new_table'][
'indexes']
207 $this->model->setModuleName(
'Old_Module');
208 $this->model->createTable($this->getCreateTableDDL(
'old_table'));
209 $this->model->setModuleName(
'New_Module');
210 $this->model->dropTable(
'old_table');
211 self::assertTrue($this->model->getTables()[
'New_Module'][
'old_table'][
'disabled']);
216 $this->model->setModuleName(
'Old_Module');
217 $this->model->createTable($this->getCreateTableDDL(
'old_table'));
218 $this->model->dropTable(
'old_table');
219 self::assertArrayNotHasKey(
'old_table', $this->model->getTables()[
'Old_Module']);
testDropTableInSameModule()
const TIMESTAMP_INIT_UPDATE
const INDEX_TYPE_FULLTEXT