企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 怎么创建迁移文件? 迁移文件目录: \项目根目录\database\migrations 迁移文件都存在此处 > `php artisan make:migration create_表名称_table` // 约定俗成 创建表 都是create开头 然后table结尾 例如: > `php artisan make:migration create_user_table ` 如图所示: ![](https://img.kancloud.cn/b0/b4/b0b4c463bebeca67c5b4b04e8b7076df_683x62.png) ___ ``` <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUserTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('user', function (Blueprint $table) { // 在此添加好数据库的字段即可 ,一般来都说应该都是使用的navicat 来创建使用的,laravel中提供了此方法来创建表 · // 在多人合作或者迭代很多版本的场景下还是不错的,每次创建表都会有记录。 $table->id(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { // down 相当于删除表 的操作 下面这句就是如果存在就删除 用于回滚的 Schema::dropIfExists('user'); } } php artisan make:migration alter_表名称_table // 添加表字段 或者修改表 使用 update 或者alter 开头 依旧table结尾 代码如下 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class UpdateUserTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { //值得注意 如果是修改表 Schema::table 而不是Schema::create了 Schema::table('class',function (Blueprint $table){ $table->dropColumn('img'); $table->string('thumb')->comment('班级头像'); $table->tinyInteger('join_type')->default(0)->comment('加入方式'); $table->dropColumn('transfer_at'); $table->dropIndex('class_name_index'); $table->index(['name','user_id']); }); } /** * Reverse the migrations. * * @return void */ public function down() { // } } ``` >如果laravel项目用了迁移文件的 一般就不会在项目中保留 .sql文件,我们一般的项目都会把数据库表保留在项目中,laravel中如果有迁移文件的话 可以不用手动导入迁移文件。只需要自己创建好数据库 配置好.env文件即可 然后执行命令`php artisan migrate` 即可执行执行迁移文件了,另外 如果迁移文件很多 并且整理了文件来保存的,那么执行迁移文件的时候最好根据创建文件夹的日期来依次执行,可以指定目录执行 > `php artisan migrate --path=database/migrations/【目录或者文件】` **laravel迁移文件中怎么设置表名的注释?** > DB需要自己use一下或者使用 \DB \DB::statement("alter table `tabelName` comment '表注释' ");