欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

laravel中的数据库迁移步骤方法(个人总结)

程序员文章站 2022-03-14 16:36:44
...

Laravel中通过PHP语言来定义这些接口并实现数据库架构的描述,当需要将这个数据库架构移植到所支持的数据库后端时,只需要执行这个描述文件就可以了,这样就为数据库架构的修改和维护提供了极大的方便。一个数据库迁移文件对应的是在“laravel\database\migrations\”目录下的一个PHP文件,迁移文件使用PHP语言来描述,即使对SQL语句不了解,一样可以实现数据库架构的设计,而文件的执行是通过artisan命令来完成的,需要注意的是,artisan命令需要在Laravel框架的根目录下执行。

(个人理解)就是说创建一个文件,执行命令,自动创建数据库

1.数据库配置。要实现数据库迁移,首先需要对数据库账号信息进行配置,而对数据库账号信息的配置文件有两个,分别是“laravel\config\database.php”和“laravel\.env”,其中.env文件是主配置文件,因为该文件中配置的参数会覆盖database.php中的参数,这里主要修改.env中的配置参数,主要有数据库位置、数据库名、账号名和密码,这些参数根据自己的计算机环境进行配置即可。

laravel中的数据库迁移步骤方法(个人总结)

laravel中的数据库迁移步骤方法(个人总结)

 

2.迁移文件的建立。完成配置后,就可以创建迁移文件了,迁移文件需要存储在“laravel\database\migrations\”目录下,而文件的名字则需要以YYYY_MM_DD_HHMMSS_create_tableName_table.php形式创建,其中前面是一个UTC时间戳识别,后面tableName为数据库表的名称,当然也可以直接使用artisan命令创建迁移文件,命令为“php artisan make:migration create_tableName_table”。通过artisan命令创建的文件已经在文件中给出了迁移文件的基本结构,其中包含两个方法,分别是up()方法和down()方法,其中up()方法是执行迁移命令时创建的表结构,而down()方式是执行回滚时删除的表结构。

php artisan make:migration create_users_table

 laravel中的数据库迁移步骤方法(个人总结)

(3)迁移文件的设计。数据库迁移文件的设计实际上就是对数据表的操作和维护,在Laravel框架中是通过结构生成器(Schema类)来实现的,该类提供了一组与数据库无关的数据表生成方法,通过这些方法可以实现数据表的创建、删除和修改等功能。下面是一个简单的迁移文件实例。文件:laravel\database\migrations\2018_08_01_000000_create_users_table.php

  public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('openid',255)->default('')->comment('微信端返回的openid');
            $table->string('nickname',45)->default('')->comment('顾问昵称,一般取自微信昵称');
            $table->char('realname',20)->default('')->comment('用户真实姓名');
            $table->enum('sex',[0,1])->default(0)->comment('性别,默认女');
            $table->char('phone',13)->default('')->comment('手机号码');
            $table->string('avatar')->default('')->comment('用户头像');
            $table->timestamps();
            $table->softDeletes();
        });
    }

(4)执行数据迁移。执行数据迁移可以通过artisan命令来完成,针对上述实例,执行迁移命令实现“users”数据表的建立,而执行回滚迁移实现“users”数据表的删除。具体命令如下:

php artisan migrate 执行迁移

效果:

laravel中的数据库迁移步骤方法(个人总结)

php artisan migrate:rollback 执行回滚迁移

 

相关标签: laravel