Add unsigned() modifier, so you can create unsigned integer columns

This commit is contained in:
Colin Viebrock
2012-02-29 15:09:13 -06:00
parent 30d69ef548
commit 26c7273493
4 changed files with 64 additions and 4 deletions

View File

@@ -77,7 +77,7 @@ class MySQL extends Grammar {
// types to the correct types.
$sql = $this->wrap($column).' '.$this->type($column);
$elements = array('nullable', 'defaults', 'incrementer');
$elements = array('unsigned', 'nullable', 'defaults', 'incrementer');
foreach ($elements as $element)
{
@@ -90,6 +90,21 @@ class MySQL extends Grammar {
return $columns;
}
/**
* Get the SQL syntax for indicating if a column is unsigned.
*
* @param Table $table
* @param Fluent $column
* @return string
*/
protected function unsigned(Table $table, Fluent $column)
{
if ($column->type == 'integer' && $column->unsigned)
{
return ' UNSIGNED';
}
}
/**
* Get the SQL syntax for indicating if a column is nullable.
*

View File

@@ -65,7 +65,7 @@ class Postgres extends Grammar {
// types to the types used by the database.
$sql = $this->wrap($column).' '.$this->type($column);
$elements = array('incrementer', 'nullable', 'defaults');
$elements = array('unsigned', 'incrementer', 'nullable', 'defaults');
foreach ($elements as $element)
{
@@ -78,6 +78,21 @@ class Postgres extends Grammar {
return $columns;
}
/**
* Get the SQL syntax for indicating if a column is unsigned.
*
* @param Table $table
* @param Fluent $column
* @return string
*/
protected function unsigned(Table $table, Fluent $column)
{
if ($column->type == 'integer' && $column->unsigned)
{
return ' UNSIGNED';
}
}
/**
* Get the SQL syntax for indicating if a column is nullable.
*

View File

@@ -91,7 +91,7 @@ class SQLite extends Grammar {
// types to the types used by the database.
$sql = $this->wrap($column).' '.$this->type($column);
$elements = array('nullable', 'defaults', 'incrementer');
$elements = array('unsigned', 'nullable', 'defaults', 'incrementer');
foreach ($elements as $element)
{
@@ -104,6 +104,21 @@ class SQLite extends Grammar {
return $columns;
}
/**
* Get the SQL syntax for indicating if a column is unsigned.
*
* @param Table $table
* @param Fluent $column
* @return string
*/
protected function unsigned(Table $table, Fluent $column)
{
if ($column->type == 'integer' && $column->unsigned)
{
return ' UNSIGNED';
}
}
/**
* Get the SQL syntax for indicating if a column is nullable.
*

View File

@@ -72,7 +72,7 @@ class SQLServer extends Grammar {
// types to the types used by the database.
$sql = $this->wrap($column).' '.$this->type($column);
$elements = array('incrementer', 'nullable', 'defaults');
$elements = array('unsigned', 'incrementer', 'nullable', 'defaults');
foreach ($elements as $element)
{
@@ -85,6 +85,21 @@ class SQLServer extends Grammar {
return $columns;
}
/**
* Get the SQL syntax for indicating if a column is unsigned.
*
* @param Table $table
* @param Fluent $column
* @return string
*/
protected function unsigned(Table $table, Fluent $column)
{
if ($column->type == 'integer' && $column->unsigned)
{
return ' UNSIGNED';
}
}
/**
* Get the SQL syntax for indicating if a column is nullable.
*