博客
关于我
laravel5.5数据库迁移入门实践
阅读量:793 次
发布时间:2023-01-30

本文共 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/

你可能感兴趣的文章
$scope angular在controller之外调用
查看>>
&和&&的区别
查看>>
(AS3)BitmapData.draw比BitmapData.copyPixel能做得更多
查看>>
canvas设置文字阴影
查看>>
Centos 5.3 ADSL拨号组建中小型企业网络
查看>>
Centos 6.3 64bit安装KVM总结
查看>>
CentOS 6.9 yum 和源码安装htop,适用于centOS 7
查看>>
centos 64位 hadoop编译
查看>>
CentOS 7 / RHEL 7 上安装 LAMP + phpMyAdmin
查看>>
CentOS 7 安装 postgreSQL 9.4
查看>>
CentOS 7 巨大变动之 systemd 取代 SysV的Init
查看>>
centos 7 静态IP,指定DNS
查看>>
flask框架面向移动端的虚拟物品订购平台毕设源码+论文
查看>>
flask框架高校助学及勤工俭学管理系统(毕设源码+论文)
查看>>
flask框架高校图书管理系统设计与实现(毕设源码+论文)
查看>>
flask框架高校毕业生选题系统(毕设源码+论文)
查看>>
flask框架高校竞赛信息管理系统(毕设源码+论文)
查看>>
flask框架魔方教学网站毕设源码+论文
查看>>
Flatterer: 快速JSON转换工具使用指南
查看>>
Flex / PHP Security Basics - Part One
查看>>