【发布时间】:2018-04-07 23:58:05
【问题描述】:
我正在使用 Laravel 的迁移系统来重新创建现有的数据库结构。这些表需要与这个现有数据库中的表完全匹配。
表中的一个字段是这样描述的:
`frequency` float unsigned NOT NULL DEFAULT 0,
查看 Laravel 迁移文档,我看到以下选项:
$table->float('amount', 8, 2);
$table->double('column', 15, 8);
这两种列类型都会创建一个带有长度和小数点的double 类型列。但我需要一个专门定义为 float 的,没有指定长度和零小数点。
可以使用 Laravel 的迁移系统吗?
【问题讨论】:
-
如documentation $table->float() 中所述,创建一个浮点字段。你使用的是什么版本的 Laravel / MySQL?
-
无小数点。那不是整数吗?顺便说一句,还有一个小数选项,比双精度要精确一些。
-
我正在使用最新的 Laravel Homestead Vagrant 实例。 MySQL 版本是
5.7.19-0ubuntu0.16.04.1。这是一个错误吗?因为->float('whatever')肯定是在创建double列。 -
一个谷歌搜索,我发现了这个(已关闭)Github 问题:github.com/laravel/framework/issues/9103 - 似乎是设计使然。
-
是的,我刚刚遇到了。真的很奇怪。 MySQL 有 FLOAT 类型是有原因的,即使 DOUBLE 在技术上是一样的。
标签: php mysql laravel mariadb database-migration