本文共 1691 字,大约阅读时间需要 5 分钟。
数据库迁移是 Laravel 中确保数据库结构与应用版本同步的重要机制。以下是对数据库迁移文件生成和执行的详细操作说明:
生成迁移文件需要使用 Laravel 提供的迁移命令。首次迁移前,执行以下命令安装迁移工具:
php artisan migrate:install
创建新的迁移文件,可以使用以下命令指定表名称和迁移名称:
php artisan make:migration create_goods_table --create=goods
生成后的迁移文件会存储在 database/migrations/
目录下。迁移文件中的 up()
方法负责执行数据库修改操作,如创建表或添加字段。down()
方法则用于回滚这些更改。
在迁移文件中设计表结构时,使用 Blueprint
类定义字段及其数据类型:
public function up(){ Schema::create('goods', function (Blueprint $table) { $table->increments('id'); // 自增主键 $table->string('goods_name', 60); // 商品名,varchar 类型 $table->decimal('goods_price', 10, 2); // 商品价格,精确到两位小数 $table->integer('num'); // 库存数量 $table->text('descr'); // 商品描述,text 类型 $table->timestamps(); // 自动生成时间字段 });}public function down(){ Schema::dropIfExists('goods');}
在运行迁移之前,确保数据库配置正确,避免因配置错误导致迁移失败。执行迁移命令:
php artisan migrate
若需回滚迁移,使用以下命令可以撤销前一次迁移:
php artisan migrate:rollback
若需要回滚多个步骤迁移,指定步骤数:
php artisan migrate:rollback --step=5
全量回滚数据库结构和数据,可以使用:
php artisan migrate:refresh
对于修改数据列,使用 change()
方法调整字段属性:
public function up(){ Schema::table('goods', function ($table) { $table->string('goods_name', 40)->change(); });}
添加新字段或删除字段时,使用相应的方法:
public function up(){ Schema::table('goods', function ($table) { $table->addColumn('look_num'); // 删除多个字段 $table->dropColumns(['goods_name', 'goods_price', 'num']); });}
创建索引时,可选择在定义字段时同时创建,或者后续操作:
public function up(){ Schema::create('goods', function (Blueprint $table) { $table->string('goods_name', 60)->unique(); $table->string('goods_name', 60); $table->unique('goods_name'); });}
数据库迁移是数据库开发中的基础工作,需要熟练掌握迁移文件的创建和执行,以确保数据库结构与应用代码同步,保障开发和部署的稳定性。
转载地址:http://dfgyk.baihongyu.com/