数据库迁移是数据库的版本管理,要使用数据库迁移,需要在.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. JavaCV 学习(二):使用 JavaCV + FFmpeg 制作拉流播放器

    一.前言 在 Android 音视频开发学习思路 中,我们不断的学习和了解音视频相关的知识,随着知识点不断的学习,我们现在应该做的事情,就是将知识点不断的串联起来.这样才能得到更深层次的领悟.通过整理 ...

  2. centos上ftp服务器的简易安装部署

    申明:本示例为centos7 开启ftp服务命令为:systemctl start vsftpd 关闭防火墙命令为systemctl stop firewalld 7版本以下开启ftp服务器为 ser ...

  3. linux系统下查看图片尺寸的命令

    1.首先需要安装:imagemagick,即: # apt-get install imagemagick 2.用 identify 命令查询对应图片的信息,即: # identify logo.jp ...

  4. 【Spark调优】Kryo序列化

    [Java序列化与反序列化] Java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程.序列化使用场景:1.数据的持久化,通过序列化可以把数据永久 ...

  5. Xamarin.Android 启动页

    打开软件的时候相当慢,会有白屏显示,这样的用户体验效果不好,所以需要增加一个启动页来过渡.步骤如下: 第一步:根据自己需求找到一个png图片,用于启动展示,放在Drawable 文件夹下,我这里命名为 ...

  6. 2.java面向对象类与类/类与对象之间关系详解

    继承.实现.依赖.关联.聚合.组合的联系与区别 下面的内容很基础,同时也很简单,但是也很重要. 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功 ...

  7. DDD实战进阶第一波(十二):开发一般业务的大健康行业直销系统(订单上下文POCO模型)

    在本系列前面的文章中,我们主要讨论了产品上下文与经销商上下文相关的实现,大家对DDD的方法与架构已经有了初步的了解. 但是在这两个界限上下文中,业务逻辑很简单,也没有用到更多的值对象的内容.从这篇文章 ...

  8. 函数式编程之-拒绝空引用异常(Option类型)

    众多语言都会设计Option类型,例如Java 8和Swift都设计了Optional类型.其实这种类型早就出现在了函数式语言中,在OCaml和Scala中叫Option,在Haskell中叫Mayb ...

  9. SpingBoot 属性加载

    属性加载顺序 配置属性加载的顺序 开发者工具 `Devtools` 全局配置参数: 单元测试上的 `@TestPropertySource` 注解指定的参数: 单元测试上的 `@SpringBootT ...

  10. JavaScript基础——深入学习async/await

    本文由云+社区发表 本篇文章,小编将和大家一起学习异步编程的未来--async/await,它会打破你对上篇文章Promise的认知,竟然异步代码还能这么写! 但是别太得意,你需要深入理解Promis ...