zoukankan      html  css  js  c++  java
  • Laravel5.5 数据库迁移:创建表与修改表

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

    php artisan migrate

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

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

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

    创建迁移

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

    php artisan make:model Models/Moment -m

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

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

    方法二:

    php artisan make:migration create_moments_table

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

    创建表

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

     1 Schema::create('moments', function (Blueprint $table) {
     2  
     3     $table->increments('id');
     4  
     5     $table->integer('user_id');
     6  
     7     $table->string('title');
     8     
     9     $table->string('content');
    10  
    11     $table->timestamps();
    12  
    13 });

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

    修改表

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

    php artisan migrate:refresh

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

    php artisan make:migration alter_moments_table

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

    在 up 方法中:

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

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

  • 相关阅读:
    bzoj1303: [CQOI2009]中位数图
    bzoj1778: [Usaco2010 Hol]Dotp 驱逐猪猡(概率DP+高斯消元)
    bzoj1013: [JSOI2008]球形空间产生器sphere(高斯消元)
    bzoj1857: [Scoi2010]传送带(三分套三分)
    LibreOJ #6221. 幂数 !(数论+dfs+剪枝)
    bzoj1968: [Ahoi2005]COMMON 约数研究(数论)
    bzoj1015: [JSOI2008]星球大战starwar(并查集)
    SRM16 B-2(DP)
    数据库的增、删、改、查 (CURD)
    软件开发
  • 原文地址:https://www.cnblogs.com/zmdComeOn/p/10154551.html
Copyright © 2011-2022 走看看