数据库迁移是数据库的版本管理,要使用数据库迁移,需要在.env文件中连接好数据库(不多说)。laravel本身已经存在user表和password_resets表的迁移了,因此,执行

php artisan migrate

便会在数据库中创建好user表、password_resets表和migrations表。migrations表是版本记录表。

命令执行的其实是 database\migration 下的迁移文件。迁移文件中调用的方法会替我们执行数据库操作(建表)。每个文件的命名对应迁移创建的时间和迁移的表名称。

现在我们要添加自己的迁移表。

创建迁移

方法一:创建数据模型的时候加上 -m ,例如:

php artisan make:model Models/Moment -m

就会在 database/migrations 下看到新建的迁移文件。打开文件,主要有 up 和 down 方法。

  • 当我们运行迁移时,up 方法会被调用;
  • 当我们回滚迁移时,down 方法会被调用。

方法二:

php artisan make:migration create_moments_table

其中 “moments” 就是要创建的表名,这里要写你自己的表名。

创建表

在up方法中,我们编写创建表的语句:

 Schema::create('moments', function (Blueprint $table) {

     $table->increments('id');

     $table->integer('user_id');

     $table->string('title');

     $table->string('content');

     $table->timestamps();

 });

保存后执行 php artisan migrate ,会创建5个字段的moments表。

修改表

方法一:修改迁移文件,执行命令

php artisan migrate:refresh

方法二:如果要修改表,新建一个迁移文件:

php artisan make:migration alter_moments_table

其中 “moments” 就是要修改的表名,这里要写你自己的表名。

在 up 方法中:

 Schema::table('moments', function (Blueprint $table) {
$table->string('test');
});

与创建表的区别是,create 方法改成 table 方法。

Laravel5.5 数据库迁移:创建表与修改表的更多相关文章

  1. Laravel 6.X 数据库迁移 创建表 与 修改表

    数据库迁移创建表 本篇文章中使用的是mysql数据库,其他数据库需要修改env文件和app配置,请其他地方搜索一下就会找到. 创建示例 1.创建users表: 命令行键入 php artisan ma ...

  2. Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]解决

    Laravel5.x运行迁移命令创建数据表:php artisan migrate报错. Illuminate\Database\QueryException  : SQLSTATE[42000]: ...

  3. laravel5.6 使用迁移创建表

    laravel 使用迁移创建表 创建迁移文件 --table 和 --create 选项可以用于指定表名以及该迁移是否要创建一个新的数据表.这些选项只需要简单放在上述迁移命令后面并指定表名: php ...

  4. 必须会的SQL语句(二) 创建表、修改表结构、删除表

    1.创建数据库表 --使用哪个数据库,如果不写这一句是默认的数据库,也可以用鼠标选当前数据库 use testDB --创建表    Create Table tablename    (       ...

  5. MySQL 5.6学习笔记(数据库基本操作,查看和修改表的存储引擎)

    1. 数据库基本操作 1.1  查看数据库 查看数据库列表: mysql> show databases; +--------------------+ | Database | +------ ...

  6. Oracle创建表、修改表、删除表、约束条件语法

    一. 使用create关键字创建表 --(1)创建新表use 数据库(在那个数据库中建表)create table 表名(字段名1(列名) 数据类型 列的特征,字段名2(列名) 数据类型 列的特征(N ...

  7. mysql——创建表、修改表、删除表(概念详细讲解)

    一.创建一个数据表 create table 表名 ( 列名1 数据类型1 [完整性约束条件], 列名2 数据类型2 [完整性约束条件], 列名3 数据类型3 [完整性约束条件], 列名4 数据类型4 ...

  8. 使用sql语句创建表、修改表、添加列等

    1. 创建表: CREATE TABLE 学生信息 (    学号 varchar(14) IDENTITY(1,1) PRIMARY KEY,    姓名 varchar(8) UNIQUE NOT ...

  9. 数据库迁移(创建关联等操作) Target database is not up to date报错

    使用Mysql-sqlalchemy执行数据库迁移 来更新数据库: 队长试探性的在网上找了几种方案 依然没有解决报错问题: 后来看了https://www.aliyun.com/jiaocheng/4 ...

随机推荐

  1. mysql 取名会涉及到关键字 的问题

    如 comment 如下图错误

  2. C++ Opencv 傅里叶变换的代码实现及关键函数详解

    一.前言 最近几天接触了图像的傅里叶变换,数学原理依旧不是很懂,因此不敢在这里妄言.下午用Opencv代码实现了这一变换,有一些经验心得,愿与大家分享. 二.关键函数解析 2.1copyMakeBor ...

  3. 博客Hexo + github pages + 阿里云绑定域名搭建个人博客

    申请域名 万网购买的域名,地址:https://wanwang.aliyun.com/domain/com?spm=5176.8142029.388261.137.LoKzy7 控制台进行解析 控制台 ...

  4. 几个实用的CSS代码段总结

    废话不多说,直接上代码,希望能帮到有需要的小伙伴 ①:遮罩 position: fixed; background: rgba(0, 0, 0, .4); top: 0; left: 0; right ...

  5. [Postman]响应(7)

    Postman响应查看器有助于确保API响应的正确性.API响应由正文,标题和状态代码组成.邮递员在不同的标签中组织正文和标题.选项卡旁边会显示API调用的状态代码和完成时间. 响应还包含HTTP规范 ...

  6. Ansible工具原理一

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命 ...

  7. Ubuntu 16.04安装Notepadqq编辑器替代Notepad++

    Notepad++只有Windows平台产品,对于Linux下有其替代的产品Notepadqq. 安装: sudo add-apt-repository ppa:notepadqq-team/note ...

  8. Liunx服务管理(Centos)

    RPM包安装的服务其安装文件是遵循系统默认安装位置,所以可以通过命令快速启动,但源码包的安装是统一放在一个自定义文件夹下,所有其服务要使用绝对路径,但也可以通过软连接方式,让其支持RPM包相同管理方式 ...

  9. java基础-2

    java基础-2 面向对象 定义 面向对象是一种思维方式,相对于面向过程​面向过程注重流程中的每一步,清楚流程中的每一个细节​面向对象注重的是对象,有了对象就有对象的一届​自己动手做--面向过程,找其 ...

  10. SQL中的Join和Where的区别

    一.sql语句中left join.inner join中的on与where的区别 0.各种join操作的概念和作用 left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. ...