3
我想創建一個浮動列的表。Laravel更改遷移字段浮動到雙重
$table->float('TaxRate',5,5)->default(0.00000);
但是Mysql把它當作一個DOUBLE。
這怎麼工作?
我想創建一個浮動列的表。Laravel更改遷移字段浮動到雙重
$table->float('TaxRate',5,5)->default(0.00000);
但是Mysql把它當作一個DOUBLE。
這怎麼工作?
這是因爲Illuminate\Database\Schema\Grammars\MySqlGrammar
將float
轉換爲double
。我不知道他們爲什麼強制使用double
。
覆蓋MySqlGrammar
會很麻煩,因爲您將不得不覆蓋更多的類。
您可以使用原始MySQL查詢創建表像下面
public function up() {
DB::unprepared('CREATE TABLE `temp`(
`id` INT NOT NULL AUTO_INCREMENT,
`tax_rate` FLOAT(5, 5) NOT NULL DEFAULT 0.00000,
...
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8'
);
}