laravel-8 - Laravel 迁移 - 这个模式有什么错误或写得不好吗?
问题描述
这是我的架构:
Schema::create('settings', function (Blueprint $table) {
$table->id();
$table->unsignedDecimal('custom_price', 6, 2)->nullable();
$table->unsignedDecimal('custom_final_price', 6, 2)->nullable();
$table->unsignedDecimal('custom_discount', 6, 2)->nullable();
$table->enum('custom_discount_type', ['flat', 'percentage'])->nullable()->after('custom_discount');
$table->dateTime('custom_discount_start_datetime')->nullable()->after('custom_discount_type');
$table->dateTime('custom_discount_end_datetime')->nullable()->after('custom_discount_start_datetime');
$table->unsignedDecimal('tax', 6, 2)->nullable();
$table->unsignedDecimal('discount', 6, 2)->nullable();
$table->enum('discount_type', ['flat', 'percentage'])->nullable()->after('discount');
$table->dateTime('discount_start_datetime')->nullable()->after('discount_type');
$table->dateTime('discount_end_datetime')->nullable()->after('discount_start_datetime');
$table->unsignedDecimal('shipping_price', 6, 2)->nullable();
$table->unsignedDecimal('shipping_price_add', 6, 2)->nullable();
$table->timestamps();
});
当我尝试 php:artisan migrate 时,弹出此错误。
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MariaDB server version for the right syntax to use near
'after `custom_discount`,
`custom_discount_start_datetime` datetime null after...' at line 1
(SQL: create table `settings` (`id` bigint unsigned not null auto_increment primary key,
`custom_price` decimal(6, 2) unsigned null,
`custom_final_price` decimal(6, 2) unsigned null,
`custom_discount` decimal(6, 2) unsigned null,
`custom_discount_type` enum('flat', 'percentage') null after `custom_discount`,
`custom_discount_start_datetime` datetime null after `custom_discount_type`,
`custom_discount_end_datetime` datetime null after `custom_discount_start_datetime`,
`tax` decimal(6, 2) unsigned null,
`discount` decimal(6, 2) unsigned null,
`discount_type` enum('flat', 'percentage') null after `discount`,
`discount_start_datetime` datetime null after `discount_type`,
`discount_end_datetime` datetime null after `discount_start_datetime`,
`shipping_price` decimal(6, 2) unsigned null,
`shipping_price_add` decimal(6, 2) unsigned null,
`created_at` timestamp null,
`updated_at` timestamp null)
default character set utf8mb4 collate 'utf8mb4_unicode_ci')
我不明白这个错误,如果有人可以通过告诉我错误或不正确的语法来帮助我。谢谢。
解决方案
推荐阅读
- c# - 执行异步方法时无法加载文件或程序集“Newtonsoft.Json”错误
- c - 定义为常量的数组成员
- android - 单个 Activity 应用程序中的闪屏方法
- tensorflow - ROCm 和 CUDA 在 Keras 中?
- php - MYSQL 从另一个表中选择电子邮件
- node.js - 当 nodejs 回调将被调用未知次数并且您需要在最后一次之后执行某些操作时
- facebook - 需要多少活跃用户才能通过 Facebook 受众网络质量检查?
- excel - 模板中的公式可自动调整数据大小
- angular - apache上的Angular 6 proxy.conf.json不工作
- python-3.x - 为熊猫数据框列名添加数字前缀