Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
framework
Setup
Declaration
Schema
Declaration
ValidationRules
AutoIncrementColumnValidation.php
Go to the documentation of this file.
1
<?php
6
namespace
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationRules
;
7
8
use
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
;
9
use
Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnIdentityAwareInterface
;
10
use
Magento\Framework\Setup\Declaration\Schema\Dto\Constraints\Internal
;
11
use
Magento\Framework\Setup\Declaration\Schema\Dto\Schema
;
12
18
class
AutoIncrementColumnValidation
implements
ValidationInterface
19
{
23
const
ERROR_TYPE
=
'auto_increment_column_is_valid'
;
24
28
const
ERROR_MESSAGE
=
'Auto Increment column do not have index. Column - "%s", table - "%s"'
;
29
33
public
function
validate
(
Schema
$schema
)
34
{
35
$errors
= [];
36
foreach
(
$schema
->getTables() as
$table
) {
37
foreach
(
$table
->getColumns() as $column) {
38
if
($column instanceof
ColumnIdentityAwareInterface
&& $column->
isIdentity
()) {
39
foreach
(
$table
->getConstraints() as
$constraint
) {
40
if
(
$constraint
instanceof
Internal
&&
41
in_array($column->getName(),
$constraint
->getColumnNames())
42
) {
43
//If we find that for auto increment column we have index or key
44
continue
3;
45
}
46
}
47
48
foreach
(
$table
->getIndexes() as
$index
) {
49
if
(in_array($column->getName(),
$index
->getColumnNames())) {
50
//If we find that for auto increment column we have index or key
51
continue
3;
52
}
53
}
54
55
$errors
[] = [
56
'column'
=> $column->getName(),
57
'message'
=> sprintf(self::ERROR_MESSAGE, $column->getName(),
$table
->getName())
58
];
59
}
60
}
61
}
62
63
return
$errors
;
64
}
65
}
$constraint
$constraint
Definition:
pre_composer_update_2.3.php:135
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationInterface
Definition:
ValidationInterface.php:13
Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnIdentityAwareInterface\isIdentity
isIdentity()
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationRules
Definition:
AutoIncrementColumnValidation.php:6
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationRules\AutoIncrementColumnValidation\ERROR_TYPE
const ERROR_TYPE
Definition:
AutoIncrementColumnValidation.php:23
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationRules\AutoIncrementColumnValidation\ERROR_MESSAGE
const ERROR_MESSAGE
Definition:
AutoIncrementColumnValidation.php:28
Magento\Framework\Setup\Declaration\Schema\Dto\Schema
Definition:
Schema.php:15
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationRules\AutoIncrementColumnValidation\validate
validate(Schema $schema)
Definition:
AutoIncrementColumnValidation.php:33
$schema
$schema
Definition:
configured_price.phtml:9
$table
$table
Definition:
trigger.php:14
$index
$index
Definition:
list.phtml:44
$errors
$errors
Definition:
overview.phtml:9
Magento\Framework\Setup\Declaration\Schema\Dto\Constraints\Internal
Definition:
Internal.php:17
Magento\Framework\Setup\Declaration\Schema\Declaration\ValidationRules\AutoIncrementColumnValidation
Definition:
AutoIncrementColumnValidation.php:18
Magento\Framework\Setup\Declaration\Schema\Dto\Columns\ColumnIdentityAwareInterface
Definition:
ColumnIdentityAwareInterface.php:11