Schema::create 比 Sql
Schema::create Vs Sql
我是 Laravel 的新手,开始了我的个人项目。
Laravel 提供为我们的数据库创建模式的迁移。我在实施选择上遇到困难。我的想法是:
- 使用 Laravel 提供的 Illuminate\Support\Facades\Facade\Schema 创建数据库模式,例如:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('username',300)->unique();
$table->string('email',300)->unique();
$table->string('password',100);
})
- 使用 ERD Designer 创建模式,如 Mysql Workbench,将图表导出到 sql,最后使用 [=13] 在 Laravel 中执行 sql =]
我正在尝试google哪种方法更好,但没有答案令我满意。
工业上哪些方法比较好或常用?如果您有任何其他建议,我很高兴知道。
Laravel Schema
是一个抽象,对于大多数,数据库无关,也就是说,如果已经有一个grammar
在 laravel 源代码或 外部库 中,您可以对不同的 数据库引擎 使用相同的迁移,但有一些小问题。
如果您使用 Raw SQL
,以防万一,这取决于您使用的实际 Database Engine
。
Laravel 附带这些语法:MySQL
、PostgreSQL
、SQLite
和 SQLServer
.
如果您使用内置 Schema
,您可以在上面的任何数据引擎中使用相同的 migrations
,而不必太担心实际的 SQL 实现。
考虑到许多开发人员有一个本地开发环境和一个简单的数据库引擎,如 SQLite
,有时当他们开始一个项目时,他们甚至不知道将在生产中使用的数据库引擎。考虑一下您想要更改 托管服务提供商 的情况,或者您在便宜的提供商处有 demo project
而在其他地方有 production
。
我是 Laravel 的新手,开始了我的个人项目。
Laravel 提供为我们的数据库创建模式的迁移。我在实施选择上遇到困难。我的想法是:
- 使用 Laravel 提供的 Illuminate\Support\Facades\Facade\Schema 创建数据库模式,例如:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('username',300)->unique();
$table->string('email',300)->unique();
$table->string('password',100);
})
- 使用 ERD Designer 创建模式,如 Mysql Workbench,将图表导出到 sql,最后使用 [=13] 在 Laravel 中执行 sql =]
我正在尝试google哪种方法更好,但没有答案令我满意。
工业上哪些方法比较好或常用?如果您有任何其他建议,我很高兴知道。
Laravel Schema
是一个抽象,对于大多数,数据库无关,也就是说,如果已经有一个grammar
在 laravel 源代码或 外部库 中,您可以对不同的 数据库引擎 使用相同的迁移,但有一些小问题。
如果您使用 Raw SQL
,以防万一,这取决于您使用的实际 Database Engine
。
Laravel 附带这些语法:MySQL
、PostgreSQL
、SQLite
和 SQLServer
.
如果您使用内置 Schema
,您可以在上面的任何数据引擎中使用相同的 migrations
,而不必太担心实际的 SQL 实现。
考虑到许多开发人员有一个本地开发环境和一个简单的数据库引擎,如 SQLite
,有时当他们开始一个项目时,他们甚至不知道将在生产中使用的数据库引擎。考虑一下您想要更改 托管服务提供商 的情况,或者您在便宜的提供商处有 demo project
而在其他地方有 production
。