MIOLO20
Toggle main menu visibility
Página principal
Estruturas de dados
Estruturas de dados
Hierarquia de classes
Campos de dados
Tudo
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Funções
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variáveis
$
a
b
c
d
e
f
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Ficheiros
Lista de ficheiros
Globais
Tudo
$
_
a
c
d
e
f
g
i
l
m
o
p
r
s
u
Funções
Variáveis
$
_
c
e
f
l
m
o
p
s
Exemplos
▼
MIOLO20
►
Estruturas de dados
▼
Ficheiros
▼
Lista de ficheiros
▼
classes
►
contrib
►
database
►
doc
▼
extensions
▼
doctrine-dbal
▼
Doctrine
►
Common
▼
DBAL
►
Driver
►
Event
►
Logging
►
Platforms
▼
Schema
►
Visitor
►
AbstractAsset.php
►
AbstractSchemaManager.php
►
Column.php
►
ColumnDiff.php
►
Comparator.php
►
Constraint.php
►
DB2SchemaManager.php
►
ForeignKeyConstraint.php
►
Index.php
►
MsSqlSchemaManager.php
►
MySqlSchemaManager.php
►
OracleSchemaManager.php
►
PostgreSqlSchemaManager.php
►
Schema.php
►
SchemaConfig.php
►
SchemaDiff.php
►
SchemaException.php
►
Sequence.php
►
SqliteSchemaManager.php
►
Table.php
►
TableDiff.php
►
View.php
►
Tools
►
Types
►
Configuration.php
►
Connection.php
►
ConnectionException.php
►
DBALException.php
►
Driver.php
►
DriverManager.php
►
Events.php
►
LockMode.php
►
Statement.php
►
Version.php
►
Symfony
►
jasper
►
spaw
►
class.phpmailer.php
►
class.smtp.php
►
cpaint.inc.php
►
cpaint_proxy.php
►
ezpdf
►
flow
►
interfaces
►
model
►
persistence
►
pslib
►
security
►
services
►
tests
►
ui
►
utils
►
compatibility.class
►
miolo.class
►
Globais
►
Exemplos
•
Tudo
Estruturas de dados
Namespaces
Ficheiros
Funções
Variáveis
Carregando...
Procurando...
Nenhuma entrada encontrada
MySqlSchemaManager.php
Ir para a documentação deste ficheiro.
1
<?php
2
/*
3
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14
*
15
* This software consists of voluntary contributions made by many individuals
16
* and is licensed under the LGPL. For more information, see
17
* <http://www.doctrine-project.org>.
18
*/
19
20
namespace
Doctrine\DBAL\Schema
;
21
33
class
MySqlSchemaManager
extends
AbstractSchemaManager
34
{
35
protected
function
_getPortableViewDefinition
($view)
36
{
37
return
new
View
($view[
'TABLE_NAME'
], $view[
'VIEW_DEFINITION'
]);
38
}
35
protected
function
_getPortableViewDefinition
($view) {
…
}
39
40
protected
function
_getPortableTableDefinition
($table)
41
{
42
return
array_shift($table);
43
}
40
protected
function
_getPortableTableDefinition
($table) {
…
}
44
45
protected
function
_getPortableUserDefinition
($user)
46
{
47
return
array(
48
'user'
=> $user[
'User'
],
49
'password'
=> $user[
'Password'
],
50
);
51
}
45
protected
function
_getPortableUserDefinition
($user) {
…
}
52
53
protected
function
_getPortableTableIndexesList
($tableIndexes, $tableName=
null
)
54
{
55
foreach
($tableIndexes AS $k => $v) {
56
$v = array_change_key_case($v, CASE_LOWER);
57
if
($v[
'key_name'
] ==
'PRIMARY'
) {
58
$v[
'primary'
] =
true
;
59
}
else
{
60
$v[
'primary'
] =
false
;
61
}
62
$tableIndexes[$k] = $v;
63
}
64
65
return
parent::_getPortableTableIndexesList($tableIndexes, $tableName);
66
}
53
protected
function
_getPortableTableIndexesList
($tableIndexes, $tableName=
null
) {
…
}
67
68
protected
function
_getPortableSequenceDefinition
($sequence)
69
{
70
return
end($sequence);
71
}
68
protected
function
_getPortableSequenceDefinition
($sequence) {
…
}
72
73
protected
function
_getPortableDatabaseDefinition
($database)
74
{
75
return
$database[
'Database'
];
76
}
73
protected
function
_getPortableDatabaseDefinition
($database) {
…
}
77
86
protected
function
_getPortableTableColumnDefinition
($tableColumn)
87
{
88
$tableColumn = array_change_key_case($tableColumn, CASE_LOWER);
89
90
$dbType = strtolower($tableColumn[
'type'
]);
91
$dbType = strtok($dbType,
'(), '
);
92
if
(isset($tableColumn[
'length'
])) {
93
$length = $tableColumn[
'length'
];
94
$decimal =
''
;
95
}
else
{
96
$length = strtok(
'(), '
);
97
$decimal = strtok(
'(), '
) ? strtok(
'(), '
):
null
;
98
}
99
$type = array();
100
$unsigned = $fixed =
null
;
101
102
if
( ! isset($tableColumn[
'name'
])) {
103
$tableColumn[
'name'
] =
''
;
104
}
105
106
$scale =
null
;
107
$precision =
null
;
108
109
$type = $this->_platform->getDoctrineTypeMapping($dbType);
110
switch
($dbType) {
111
case
'char'
:
112
$fixed =
true
;
113
break
;
114
case
'float'
:
115
case
'double'
:
116
case
'real'
:
117
case
'numeric'
:
118
case
'decimal'
:
119
if
(preg_match(
'([A-Za-z]+\(([0-9]+)\,([0-9]+)\))'
, $tableColumn[
'type'
], $match)) {
120
$precision = $match[1];
121
$scale = $match[2];
122
$length =
null
;
123
}
124
break
;
125
case
'tinyint'
:
126
case
'smallint'
:
127
case
'mediumint'
:
128
case
'int'
:
129
case
'integer'
:
130
case
'bigint'
:
131
case
'tinyblob'
:
132
case
'mediumblob'
:
133
case
'longblob'
:
134
case
'blob'
:
135
case
'binary'
:
136
case
'varbinary'
:
137
case
'year'
:
138
$length =
null
;
139
break
;
140
}
141
142
$length = ((int) $length == 0) ? null : (int) $length;
143
$def = array(
144
'type'
=> $type,
145
'length'
=> $length,
146
'unsigned'
=> (
bool
) $unsigned,
147
'fixed'
=> (
bool
) $fixed
148
);
149
150
$options = array(
151
'length'
=> $length,
152
'unsigned'
=> (
bool
)$unsigned,
153
'fixed'
=> (
bool
)$fixed,
154
'default'
=> $tableColumn[
'default'
],
155
'notnull'
=> (
bool
) ($tableColumn[
'null'
] !=
'YES'
),
156
'scale'
=>
null
,
157
'precision'
=>
null
,
158
'autoincrement'
=> (
bool
) (strpos($tableColumn[
'extra'
],
'auto_increment'
) !==
false
),
159
);
160
161
if
($scale !==
null
&& $precision !==
null
) {
162
$options[
'scale'
] = $scale;
163
$options[
'precision'
] = $precision;
164
}
165
166
return
new
Column
($tableColumn[
'field'
], \Doctrine\DBAL\Types\Type::getType($type), $options);
167
}
86
protected
function
_getPortableTableColumnDefinition
($tableColumn) {
…
}
168
169
public
function
_getPortableTableForeignKeyDefinition
($tableForeignKey)
170
{
171
$tableForeignKey = array_change_key_case($tableForeignKey, CASE_LOWER);
172
173
if
(!isset($tableForeignKey[
'delete_rule'
]) || $tableForeignKey[
'delete_rule'
] ==
"RESTRICT"
) {
174
$tableForeignKey[
'delete_rule'
] =
null
;
175
}
176
if
(!isset($tableForeignKey[
'update_rule'
]) || $tableForeignKey[
'update_rule'
] ==
"RESTRICT"
) {
177
$tableForeignKey[
'update_rule'
] =
null
;
178
}
179
180
return
new
ForeignKeyConstraint
(
181
(array)$tableForeignKey[
'column_name'
],
182
$tableForeignKey[
'referenced_table_name'
],
183
(array)$tableForeignKey[
'referenced_column_name'
],
184
$tableForeignKey[
'constraint_name'
],
185
array(
186
'onUpdate'
=> $tableForeignKey[
'update_rule'
],
187
'onDelete'
=> $tableForeignKey[
'delete_rule'
],
188
)
189
);
190
}
169
public
function
_getPortableTableForeignKeyDefinition
($tableForeignKey) {
…
}
191
}
33
class
MySqlSchemaManager
extends
AbstractSchemaManager
{
…
};
Doctrine\DBAL\Schema\AbstractSchemaManager
Definição
AbstractSchemaManager.php:40
Doctrine\DBAL\Schema\Column
Definição
Column.php:35
Doctrine\DBAL\Schema\ForeignKeyConstraint
Definição
ForeignKeyConstraint.php:27
Doctrine\DBAL\Schema\MySqlSchemaManager
Definição
MySqlSchemaManager.php:34
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableTableDefinition
_getPortableTableDefinition($table)
Definição
MySqlSchemaManager.php:40
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableUserDefinition
_getPortableUserDefinition($user)
Definição
MySqlSchemaManager.php:45
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableViewDefinition
_getPortableViewDefinition($view)
Definição
MySqlSchemaManager.php:35
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableTableForeignKeyDefinition
_getPortableTableForeignKeyDefinition($tableForeignKey)
Definição
MySqlSchemaManager.php:169
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableDatabaseDefinition
_getPortableDatabaseDefinition($database)
Definição
MySqlSchemaManager.php:73
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableSequenceDefinition
_getPortableSequenceDefinition($sequence)
Definição
MySqlSchemaManager.php:68
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableTableIndexesList
_getPortableTableIndexesList($tableIndexes, $tableName=null)
Definição
MySqlSchemaManager.php:53
Doctrine\DBAL\Schema\MySqlSchemaManager\_getPortableTableColumnDefinition
_getPortableTableColumnDefinition($tableColumn)
Definição
MySqlSchemaManager.php:86
Doctrine\DBAL\Schema\View
Definição
View.php:34
Doctrine\DBAL\Schema
Definição
AbstractAsset.php:22
classes
extensions
doctrine-dbal
Doctrine
DBAL
Schema
MySqlSchemaManager.php
Gerado por
1.10.0