Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1431810
ColumnDiff.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
ColumnDiff.php
View Options
<?php
namespace
Doctrine\DBAL\Schema
;
use
Doctrine\Deprecations\Deprecation
;
use
function
in_array
;
/**
* Represents the change of a column.
*/
class
ColumnDiff
{
/**
* @deprecated Use {@see $fromColumn} and {@see Column::getName()} instead.
*
* @var string
*/
public
$oldColumnName
;
/**
* @internal Use {@see getNewColumn()} instead.
*
* @var Column
*/
public
$column
;
/**
* @deprecated Use {@see hasTypeChanged()}, {@see hasLengthChanged()}, {@see hasPrecisionChanged()},
* {@see hasScaleChanged()}, {@see hasUnsignedChanged()}, {@see hasFixedChanged()}, {@see hasNotNullChanged()},
* {@see hasDefaultChanged()}, {@see hasAutoIncrementChanged()} or {@see hasCommentChanged()} instead.
*
* @var string[]
*/
public
$changedProperties
=
[];
/**
* @internal Use {@see getOldColumn()} instead.
*
* @var Column|null
*/
public
$fromColumn
;
/**
* @internal The diff can be only instantiated by a {@see Comparator}.
*
* @param string $oldColumnName
* @param string[] $changedProperties
*/
public
function
__construct
(
$oldColumnName
,
Column
$column
,
array
$changedProperties
=
[],
?
Column
$fromColumn
=
null
)
{
if
(
$fromColumn
===
null
)
{
Deprecation
::
triggerIfCalledFromOutside
(
'doctrine/dbal'
,
'https://github.com/doctrine/dbal/pull/4785'
,
'Not passing the $fromColumn to %s is deprecated.'
,
__METHOD__
,
);
}
$this
->
oldColumnName
=
$oldColumnName
;
$this
->
column
=
$column
;
$this
->
changedProperties
=
$changedProperties
;
$this
->
fromColumn
=
$fromColumn
;
}
public
function
getOldColumn
():
?
Column
{
return
$this
->
fromColumn
;
}
public
function
getNewColumn
():
Column
{
return
$this
->
column
;
}
public
function
hasTypeChanged
():
bool
{
return
$this
->
hasChanged
(
'type'
);
}
public
function
hasLengthChanged
():
bool
{
return
$this
->
hasChanged
(
'length'
);
}
public
function
hasPrecisionChanged
():
bool
{
return
$this
->
hasChanged
(
'precision'
);
}
public
function
hasScaleChanged
():
bool
{
return
$this
->
hasChanged
(
'scale'
);
}
public
function
hasUnsignedChanged
():
bool
{
return
$this
->
hasChanged
(
'unsigned'
);
}
public
function
hasFixedChanged
():
bool
{
return
$this
->
hasChanged
(
'fixed'
);
}
public
function
hasNotNullChanged
():
bool
{
return
$this
->
hasChanged
(
'notnull'
);
}
public
function
hasDefaultChanged
():
bool
{
return
$this
->
hasChanged
(
'default'
);
}
public
function
hasAutoIncrementChanged
():
bool
{
return
$this
->
hasChanged
(
'autoincrement'
);
}
public
function
hasCommentChanged
():
bool
{
return
$this
->
hasChanged
(
'comment'
);
}
/**
* @deprecated Use {@see hasTypeChanged()}, {@see hasLengthChanged()}, {@see hasPrecisionChanged()},
* {@see hasScaleChanged()}, {@see hasUnsignedChanged()}, {@see hasFixedChanged()}, {@see hasNotNullChanged()},
* {@see hasDefaultChanged()}, {@see hasAutoIncrementChanged()} or {@see hasCommentChanged()} instead.
*
* @param string $propertyName
*
* @return bool
*/
public
function
hasChanged
(
$propertyName
)
{
return
in_array
(
$propertyName
,
$this
->
changedProperties
,
true
);
}
/**
* @deprecated Use {@see $fromColumn} instead.
*
* @return Identifier
*/
public
function
getOldColumnName
()
{
Deprecation
::
trigger
(
'doctrine/dbal'
,
'https://github.com/doctrine/dbal/pull/5622'
,
'%s is deprecated. Use $fromColumn instead.'
,
__METHOD__
,
);
if
(
$this
->
fromColumn
!==
null
)
{
$name
=
$this
->
fromColumn
->
getName
();
$quote
=
$this
->
fromColumn
->
isQuoted
();
}
else
{
$name
=
$this
->
oldColumnName
;
$quote
=
false
;
}
return
new
Identifier
(
$name
,
$quote
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 21:05 (1 d, 22 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
00/8a/a89bd4f1eb22bcf8e2d7a245caa5
Default Alt Text
ColumnDiff.php (4 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment