Laravel 中的 Microsoft SQL 数据库应指定哪种数据库引擎类型?

Which database engine type should be specified for Microsoft SQL Database in Laravel?

我正在使用 OctoberCMS 开发 Web 应用程序,它位于 Laravel 5.5.40 上并使用 Microsoft SQL 数据库。

数据库迁移使用允许指定数据库引擎的标准蓝图对象进行管理。目前所有的迁移都在使用 InnoDB,我相信只有 MySQL 支持它。

这是否意味着引擎类型被忽略了?是否可以为 Microsoft SQL 数据库表指定不同的引擎类型以及可用的选项?

"database engine" 或 "storage engine" 的概念非常特定于 MySQL;大多数数据库系统都有一个单一的后端,一切都建立在这个后端上。有时有特殊类型的数据库或 table 用于特殊情况 - 例如用于从其他系统导入数据的适配器,或用于分析大型数据集的面向列的存储 - 但很少遇到。

对于 Microsoft SQL Server,确实没有您需要指定的等效选项。关于如何配置 table 以获得性能,您可能还有其他选项可以设置,但我希望 ORM 选择合理的默认值并且没有一个参数有很多权衡,例如更改 MySQL引擎。

Laravel(至少是最新版本)支持以下数据库:

目前,Laravel 根据文档支持四种数据库类型:https://laravel.com/docs/7.x/database#introduction

MySQL 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+, SQL Server 2017+

每个驱动程序都与 Eloquent 完全兼容,包括迁移 因此,在您的数据库配置文件中使用 'default' => 'sqlsrv', 并且您应该可以使用