首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >架构::create

架构::create
EN

Stack Overflow用户
提问于 2019-08-22 13:42:13
回答 1查看 66关注 0票数 0

我和Laravel是新来的,并开始了我的个人项目。

Laravel提供了为我们的数据库创建模式的迁移。我在执行的选择上有困难。我的想法是:

  1. 使用Laravel提供的照明\Support\Facade\Facade\ schema创建数据库模式,例如:
代码语言:javascript
复制
Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('username',300)->unique();
            $table->string('email',300)->unique();
            $table->string('password',100);
})
  1. 使用诸如Mysql这样的ERD设计器创建模式,将图表导出到sql,最后使用DB::statement在Laravel中执行sql

我试图用谷歌搜索哪种方法更好,但没有一个答案能让我满意。

哪种方法在工业中使用得更好或最常用?如果你有其他建议的话,我很高兴知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-22 15:17:29

Laravel Schema是一种抽象,大多数情况下是数据库独立的,也就是说,如果在laravel源或外部库中已经有一个grammar,那么您可以对不同的数据库引擎使用相同的迁移,处理一些小问题。

如果您使用Raw SQL,您可以,以防万一,取决于实际使用的Database Engine

Laravel有这样的语法:MySQLPostgreSQLSQLiteSQLServer

如果使用内置Schema,则可以在上述任何数据库引擎中使用相同的migrations,而不必过多地担心实际的SQL实现。

考虑到许多开发人员都有一个本地开发环境,其中有一个简单的数据库引擎,比如SQLite,有时当他们启动一个项目时,他们甚至不知道生产中将使用的数据库引擎。考虑一下您想要更改主机提供商的情况,或者您在廉价提供商上有一个demo project,而在其他地方则有一个production

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57610735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档