Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
e5006691
Commit
e5006691
authored
Feb 04, 2010
by
beberlei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[2.0] DDC-301 - Table Primary Key Columns should explicitly set to notnull => true.
parent
7cf8d1ae
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
1 deletion
+20
-1
Table.php
lib/Doctrine/DBAL/Schema/Table.php
+8
-1
TableTest.php
tests/Doctrine/Tests/DBAL/Schema/TableTest.php
+12
-0
No files found.
lib/Doctrine/DBAL/Schema/Table.php
View file @
e5006691
...
...
@@ -148,7 +148,14 @@ class Table extends AbstractAsset
*/
public
function
setPrimaryKey
(
array
$columns
,
$indexName
=
false
)
{
return
$this
->
_createIndex
(
$columns
,
$indexName
?:
"primary"
,
true
,
true
);
$primaryKey
=
$this
->
_createIndex
(
$columns
,
$indexName
?:
"primary"
,
true
,
true
);
foreach
(
$columns
AS
$columnName
)
{
$column
=
$this
->
getColumn
(
$columnName
);
$column
->
setNotnull
(
true
);
}
return
$primaryKey
;
}
/**
...
...
tests/Doctrine/Tests/DBAL/Schema/TableTest.php
View file @
e5006691
...
...
@@ -341,4 +341,16 @@ class TableTest extends \PHPUnit_Framework_TestCase
$this
->
assertTrue
(
$table
->
hasIndex
(
'my_idx'
));
$this
->
assertEquals
(
array
(
"ID"
),
$table
->
getIndex
(
"my_idx"
)
->
getColumns
());
}
public
function
testAddPrimaryKey_ColumnsAreExplicitlySetToNotNull
()
{
$table
=
new
Table
(
"foo"
);
$column
=
$table
->
createColumn
(
"id"
,
'integer'
,
array
(
'notnull'
=>
false
));
$this
->
assertFalse
(
$column
->
getNotnull
());
$table
->
setPrimaryKey
(
array
(
'id'
));
$this
->
assertTrue
(
$column
->
getNotnull
());
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment