Commit 26c72734 authored by Colin Viebrock's avatar Colin Viebrock

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

parent 30d69ef5
...@@ -77,7 +77,7 @@ class MySQL extends Grammar { ...@@ -77,7 +77,7 @@ class MySQL extends Grammar {
// types to the correct types. // types to the correct types.
$sql = $this->wrap($column).' '.$this->type($column); $sql = $this->wrap($column).' '.$this->type($column);
$elements = array('nullable', 'defaults', 'incrementer'); $elements = array('unsigned', 'nullable', 'defaults', 'incrementer');
foreach ($elements as $element) foreach ($elements as $element)
{ {
...@@ -90,6 +90,21 @@ class MySQL extends Grammar { ...@@ -90,6 +90,21 @@ class MySQL extends Grammar {
return $columns; 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. * Get the SQL syntax for indicating if a column is nullable.
* *
......
...@@ -65,7 +65,7 @@ class Postgres extends Grammar { ...@@ -65,7 +65,7 @@ class Postgres extends Grammar {
// types to the types used by the database. // types to the types used by the database.
$sql = $this->wrap($column).' '.$this->type($column); $sql = $this->wrap($column).' '.$this->type($column);
$elements = array('incrementer', 'nullable', 'defaults'); $elements = array('unsigned', 'incrementer', 'nullable', 'defaults');
foreach ($elements as $element) foreach ($elements as $element)
{ {
...@@ -78,6 +78,21 @@ class Postgres extends Grammar { ...@@ -78,6 +78,21 @@ class Postgres extends Grammar {
return $columns; 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. * Get the SQL syntax for indicating if a column is nullable.
* *
......
...@@ -91,7 +91,7 @@ class SQLite extends Grammar { ...@@ -91,7 +91,7 @@ class SQLite extends Grammar {
// types to the types used by the database. // types to the types used by the database.
$sql = $this->wrap($column).' '.$this->type($column); $sql = $this->wrap($column).' '.$this->type($column);
$elements = array('nullable', 'defaults', 'incrementer'); $elements = array('unsigned', 'nullable', 'defaults', 'incrementer');
foreach ($elements as $element) foreach ($elements as $element)
{ {
...@@ -104,6 +104,21 @@ class SQLite extends Grammar { ...@@ -104,6 +104,21 @@ class SQLite extends Grammar {
return $columns; 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. * Get the SQL syntax for indicating if a column is nullable.
* *
......
...@@ -72,7 +72,7 @@ class SQLServer extends Grammar { ...@@ -72,7 +72,7 @@ class SQLServer extends Grammar {
// types to the types used by the database. // types to the types used by the database.
$sql = $this->wrap($column).' '.$this->type($column); $sql = $this->wrap($column).' '.$this->type($column);
$elements = array('incrementer', 'nullable', 'defaults'); $elements = array('unsigned', 'incrementer', 'nullable', 'defaults');
foreach ($elements as $element) foreach ($elements as $element)
{ {
...@@ -85,6 +85,21 @@ class SQLServer extends Grammar { ...@@ -85,6 +85,21 @@ class SQLServer extends Grammar {
return $columns; 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. * Get the SQL syntax for indicating if a column is nullable.
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment