diff --git a/laravel/database/schema/grammars/mysql.php b/laravel/database/schema/grammars/mysql.php index 5d783cee..a41991d3 100644 --- a/laravel/database/schema/grammars/mysql.php +++ b/laravel/database/schema/grammars/mysql.php @@ -337,6 +337,17 @@ class MySQL extends Grammar { return 'FLOAT'; } + /** + * Generate the data-type definintion for a decimal. + * + * @param Fluent $column + * @return string + */ + protected function type_decimal(Fluent $column) + { + return "DECIMAL({$column->precision}, {$column->scale})"; + } + /** * Generate the data-type definition for a boolean. * diff --git a/laravel/database/schema/grammars/postgres.php b/laravel/database/schema/grammars/postgres.php index 9a32edff..acce7f7b 100644 --- a/laravel/database/schema/grammars/postgres.php +++ b/laravel/database/schema/grammars/postgres.php @@ -338,6 +338,17 @@ class Postgres extends Grammar { return 'REAL'; } + /** + * Generate the data-type definintion for a decimal. + * + * @param Fluent $column + * @return string + */ + protected function type_decimal(Fluent $column) + { + return "DECIMAL({$column->precision}, {$column->scale})"; + } + /** * Generate the data-type definition for a boolean. * diff --git a/laravel/database/schema/grammars/sqlite.php b/laravel/database/schema/grammars/sqlite.php index 9fcbce2a..c6d209e4 100644 --- a/laravel/database/schema/grammars/sqlite.php +++ b/laravel/database/schema/grammars/sqlite.php @@ -282,6 +282,17 @@ class SQLite extends Grammar { return 'FLOAT'; } + /** + * Generate the data-type definintion for a decimal. + * + * @param Fluent $column + * @return string + */ + protected function type_decimal(Fluent $column) + { + return 'FLOAT'; + } + /** * Generate the data-type definition for a boolean. * diff --git a/laravel/database/schema/grammars/sqlserver.php b/laravel/database/schema/grammars/sqlserver.php index 3972edd5..dea4729e 100644 --- a/laravel/database/schema/grammars/sqlserver.php +++ b/laravel/database/schema/grammars/sqlserver.php @@ -356,6 +356,17 @@ class SQLServer extends Grammar { return 'FLOAT'; } + /** + * Generate the data-type definintion for a decimal. + * + * @param Fluent $column + * @return string + */ + protected function type_decimal(Fluent $column) + { + return "DECIMAL({$column->precision}, {$column->scale})"; + } + /** * Generate the data-type definition for a boolean. * diff --git a/laravel/database/schema/table.php b/laravel/database/schema/table.php index b40a2819..2665e4d7 100644 --- a/laravel/database/schema/table.php +++ b/laravel/database/schema/table.php @@ -276,6 +276,19 @@ class Table { return $this->column(__FUNCTION__, compact('name')); } + /** + * Add a decimal column to the table. + * + * @param string $name + * @param int $precision + * @param int $scale + * @return Fluent + */ + public function decimal($name, $precision, $scale) + { + return $this->column(__FUNCTION__, compact('name', 'precision', 'scale')); + } + /** * Add a boolean column to the table. *