
laravel5.5数据库迁移入门实践
发布日期:2025-04-04 04:30:22
浏览次数:10
分类:精选文章
本文共 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'); });}
数据库迁移是数据库开发中的基础工作,需要熟练掌握迁移文件的创建和执行,以确保数据库结构与应用代码同步,保障开发和部署的稳定性。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月28日 03时00分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
00013.05 字符串比较
2019-03-12
UE4 错误列表 error码(只记录我遇到的情况,持续添加,未完成)
2019-03-13
Android 架构组件 – 让天下没有难做的 App
2019-03-13
能解决数据可视化大屏需求的3款可视化工具
2019-03-13
第01问:MySQL 一次 insert 刷几次盘?
2019-03-13
laravel server error 服务器内部错误
2019-03-15
一道简单的访问越界、栈溢出pwn解题记录
2019-03-15
响应的HTTP协议格式+常见的响应码
2019-03-15
springboot redis key乱码
2019-03-16
解决打开 json 文件中文乱码的问题
2023-01-23
计算机网络基础:PKI(公钥基础设施)
2023-01-23
乒乓球问题
2023-01-23
回溯法介绍
2023-01-23
有了Trae,人人都是程序员的时代来了
2023-01-23
程序员都看不懂的代码
2023-01-23