laravel基础课程---16、数据迁移(数据库迁移是什么)
laravel基础课程---16、数据迁移(数据库迁移是什么)
一、总结
一句话总结:
是什么:数据库迁移就像是【数据库的版本控制】,可以让你的团队轻松修改并共享应用程序的数据库结构。
使用场景:解决让同事手动在数据库结构中添加字段的情况
数据库迁移就像是数据库的版本控制,可以让你的团队轻松修改并共享应用程序的数据库结构。迁移通常会搭配上 Laravel 的数据库结构构造器来让你方便地构建数据库结构。如果你曾经出现过让同事手动在数据库结构中添加字段的情况,数据库迁移可以解决你这个问题。
Laravel 的 Schema
facade 对所有 Laravel 支持的数据库系统提供了创建和操作数据表的相应支持。
1、lavarel使用session老是报错怎么办?
查看session是否开启:session_start()
2、lavarel中打印数据方式?
dd打印:dd($arr)
3、lavarel如何移除session中的所有数据?
flush方法:$request->session()->flush();
forget
方法可以从 session 内删除一条数据。如果你想删除 session 内所有数据,则可以使用 flush
方法:
$request->session()->forget('key');
$request->session()->flush();
4、lavarel如何实现数据库的迁移(看示例代码使用:原理:肯定会生成迁移表记录迁移情况)?
创建数据库迁移:php artisan:php artisan make:migration create_table_news
使用迁移【例如新建表】:调用迁移中的 up方法(自己方法):php artisan migrate
回退迁移【例如删除表】:调用迁移中的 down方法(自己方法):php artisan migrate:rollback
数据库的迁移 0、数据库迁移就像是数据库的版本控制 (不建议初学者使用) 1、创建数据库迁移
php artisan make:migration create_table_news public function up()
{
Schema::create('news', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('text');
});
} /**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('news');
} 2、使用迁移
php artisan migrate 调用迁移中的 up方法 3、返回
php artisan migrate:rollback 返回迁移中的 down方法
5、lavarel中如何使用调试工具(上线了的话就关闭调试助手)?
效果:就是在网站下面出现一个调试工具:比如运行了什么sql,比如加载了什么页面都会提示,很方便
修改配置:在 D:\laravel\yzmedu\yzm2\config\app.php 添加一句话 182行:Barryvdh\Debugbar\ServiceProvider::class,
composer安装调试助手:composer require barryvdh/laravel-debugbar
1、使用调试工具(config\app.php配置文件中)
在 D:\laravel\yzmedu\yzm2\config\app.php 添加一句话182行 Barryvdh\Debugbar\ServiceProvider::class, 2、安装调试助手
composer require barryvdh/laravel-debugbar
6、lavarel中如何创建自定义工具函数(不用include的方式)?
新建了函数的公共目录;比如 D:\laravel\yzmedu\yzm2\app\Common
修改 composer.json:在配置文件的autoload中:"files":["app/Common/function.php"]
重新加载配置文件:composer dump-auto
自定义函数 1、新建了函数的公共目录 D:\laravel\yzmedu\yzm2\app\Common 2、修改 composer.json
, "files":[
"app/Common/function.php"
] 3、重新加载配置文件
composer dump-auto
二、laravel 如何使用composer自动加载自己定义的文件夹
参考:laravel 如何使用composer自动加载自己定义的文件夹 - 个人文章 - SegmentFault 思否
https://segmentfault.com/a/1190000010832055
一. 问题
当我们 clone下来一个laravel框架,接着就开始我们表演,但是我们根据业务需求需要创建一些自定义的文件夹,那么我们该如何加载他们呢,如何避免这类错误[Symfony\\Component\\Debug\\Exception\\FatalThrowableError] Class 'tools\\alyduanxin\\api\_demo\\SmsDemo' not found
二:分三步来解决这个问题
- 在laravel 中项目根目录下创建自己的文件夹,例如我在项目根目录下创建了一个tools文件夹。
在项目文件夹的根目录下找到composer.json文件,在autoload里添加psr-4节点
"psr-4": {
"tools\\": "tools/"
}接着执行
composer dump-autoload -o
- 至此我们就加载成功啦
三. 解释一下 composer dump-autoload 这条命令
下面是composer官方文档中关于dump-autoload命令的解释:
If you need to update the autoloader(类加载器)
because of new classes in a classmap package for example, you can use "dump-autoload
" to do that without having to go through an install or update.
Additionally, it can dump an optimized(优化)
autoloader that converts(转化) PSR-0/4 packages into classmap
ones for performance(性能)
reasons.
In large applications with many classes, the autoloader can take up a
substantial portion of every request's time. Using classmaps for
everything is less convenient in development, but using this option you
can still use PSR-0/4 for convenience and classmaps for performance.Options:
--no-scripts:
Skips the execution of all scripts defined in composer.json file.--optimize (-o):
Convert
PSR-0/4 autoloading to classmap to get a faster autoloader. This is
recommended especially for production, but can take a bit of time to run
so it is currently not done by default.--classmap-authoritative (-a):
Autoload classes from the classmap only. Implicitly enables --optimize.--apcu:
Use APCu to cache found/not-found classes.--no-dev:
Disables autoload-dev rules.
其中官方推荐的参数是 -o,即 composer dump-autoload -o
这个命令可以将PSR-0/4自动加载成classmap来获取一个更快速的类加载器,推荐生产环境使用,但是,可能需要一点时间来运行,因此目前不是默认
laravel基础课程---16、数据迁移(数据库迁移是什么)的更多相关文章
- MySQL基础之 恢复数据和数据库迁移
1.mysql命令或者source命令恢复数据 这两个命令在进行恢复数据的时候要检查是否创建数据库.如果数据库不存在,则恢复失败. 数据库迁移 1.相同版本的mysql数据库之间的迁移. mysqld ...
- laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)
laravel基础课程---13.数据库基本操作2(lavarel数据库操作和tp对比) 一.总结 一句话总结: 非常非常接近:也是分为两大类,原生SQL 和 数据库链式操作 学习方法:使用时 多看手 ...
- laravel基础课程---10、数据库基本操作(如何使用数据库)
laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...
- laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)
laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的la ...
- laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)
laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...
- laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)
laravel基础课程---12.lavarel的ajax操作2(lavarel的ajax使用总结) 一.总结 一句话总结: 比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可 1. ...
- laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)
laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...
- laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)
laravel基础课程---9.视图(lavarel的模板语法和tp相比怎样) 一.总结 一句话总结: lavarel的模板语法比thinkphp好用很多:和html代码配合的更好 lavarel比t ...
- laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)
laravel基础课程---6.请求(如何获取当前 HTTP 请求的实例) 一.总结 一句话总结: 依赖注入:通过依赖注入的方式来获取当前 HTTP 请求的实例:public function sto ...
随机推荐
- 【Excle数据透视】如何用含有单元格的数据来创建数据透视
取消合并单元格,填充相同内容项,然后创建数据透视表. 如下图:需要使用数据创建数据透视表 步骤一 开始→格式刷,然后对单元格区域G2:G15使用格式刷功能,保留合并单元格格式 步骤二 选中A2:A18 ...
- 转:HDMI介绍与流程
HDMI介绍与流程 HDMI,全称为(High Definition Multimedia Interface)高清多媒体接口,主要用于传输高清音视频信号. HDMI引脚: HDMI有A,B,C, ...
- java拷贝构造函数
浅拷贝就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象. 深拷贝就是两个对象的值相等,但是互相独立. 构造函数的参数是该类的一个实例. Operator = 拷贝构造函数 ...
- JavaScript 作用域链图具体解释
<script type="text/javascript"> /** * 作用域链: */ var a = "a"; function hao94 ...
- Mongodb之备份恢复脚本
本分脚本: !/bin/bash #备份文件执行路径 which mongodump DUMP= #临时备份目录 OUT_DIR= #本分存放目录 TAR_DIR= #获取当前系统时间==> 2 ...
- 概率图模型(PGM)学习笔记(二)贝叶斯网络-语义学与因子分解
概率分布(Distributions) 如图1所看到的,这是最简单的联合分布案例,姑且称之为学生模型. 图1 当中包括3个变量.各自是:I(学生智力,有0和1两个状态).D(试卷难度,有0和1两个状态 ...
- Intellj IDEA光标替insert状态,back键无法删除内容
Intellj IDEA光标为insert状态,无法删除内容导入项目后,发现打开java文件的光标是win系统下按了insert键后的那种宽的光标,并且还无法删除内容,且按删除(delete)键也只见 ...
- matlab 学习之常用函数2
-----------------------------author:midu ---------------------------qq:1327706646 ------------------ ...
- CGI的基本原理
一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Webserver主机提供信息服务的标准接口.通过CGI接口,Webserver就行获取client提交的信 ...
- EasyDSS RTMP流媒体解决方案之Windows服务安装方案
Windows服务安装 EasyDSS_Solution流媒体解决方案,可以通过start一键启动.在实际应用中,我们希望可以设置成系统服务,那么下面我将会介绍,如何在windows中将流媒体解决方案 ...