• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > ThinkPHP如何使用migrate实现数据库迁移

ThinkPHP如何使用migrate实现数据库迁移

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了ThinkPHP,migrate,数据库迁移等相关知识,希望对您有所帮助

ThinkPHP如何使用migrate实现数据库迁移


thinkPHP使用migrate实现数据库迁移

thinkPHP的数据库迁移工具:topthink/think-migration

一:安装topthink/think-migration

这里注意你安装topthink/think-migration时需要注意你的thinkPHP版本,这里我的thinkPHP版本为5.1,所以可以安装topthink/think-migration的2.0版本,无法安装3.0版本,选择你适合的版本进行安装

composer require topthink/think-migration=2.0.*

安装完成之后在命令行执行:

php think

如下表示migrate安装成功

ThinkPHP如何使用migrate实现数据库迁移

二:使用topthink/think-migration实现数据库迁移

1:创建迁移类

在命令行执行

php think migrate:create CreateUser

执行完成之后我们就和在./database/migrateions目录下创建一个migrate迁移文件

ThinkPHP如何使用migrate实现数据库迁移

2:实现数据库迁移

migrate方法使用文档:http://docs.phinx.org/en/latest/migrations.html

[1]:migrate代码说明:

在migrate中有三个方法

up:在migrate:run时执行(前提是文件中不存在change方法)

down:在migrate:rollback时执行(前提是文件中不存在change方法)

change:migrate:run 和migrate:rollback时执行 (如果存在该方法 则不会去执行up 与down)

一般情况下我一般将migrate文件中的change方法删除,up方法专门放置新增和更新表的操作,down方法放置删除表和删除字段操作

(1)新增表:

// create the table$table = $this->table('user', ['id' => 'user_id', 'comment' => '用户表', 'engine' => 'MyISAM', '']);$table->addColumn('user_name', 'string', ['limit' => 15, 'default' => '', 'comment' => '用户名'])    ->addColumn('password', 'string', ['limit' => 15, 'default' => '', 'comment' => '密码',])    ->addColumn('status', 'boolean', ['limit' => 1, 'default' => 0, 'comment' => '状态'])    ->addIndex(['user_name'], ['unique' => true])//为user_name创建索引并设置唯一(唯一索引)    ->addTimestamps()//默认生成create_time和update_time两个字段    ->create();

(2)更新表:

$this->table('user')    ->addColumn('test', 'string', ['limit' => 15, 'default' => '', 'comment' => '测试'])//在user表中增加一个test字段

    ->update();

(3)删除表:

$this->table('user')->drop();

(4)删除字段

$this->table('user')    ->removeColumn('test')//删除user表中的test字段    ->save();

[2]:migrate命令:

migrate常用的命令有三个,分别为:

php think migrate:create CreateUser  #创建一个迁移类php think migrate:run  #执行迁移php think migrate:rollback #迁移回滚



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • laravel与thinkphp之间的区别与优缺点
  • ThinkPhp5.1制作微信支付以及支付后的几种状态说明
  • ThinkPHP3.2.3如何从php5升级到php7
  • 详解thinkphp下部分内容的ajax无刷新分页
  • 你知道Thinkphp5.1让验证码在Electron-vue中怎么用?
  • 关于ThinkPHP的join关联查询不使用默认的表前缀
  • ThinkPHP5通过ajax插入图片并实时显示(完整代码)
  • 分析 thinkphp5 显示render不兼容问题
  • ThinkPHP5访问怎么去除/public/index.php
  • Thinkphp5.1详细讲解中间件的用法

相关文章

  • 谈谈PHP运算符“::”、“->”和“=>”的区别
  • 教你使用在Homestead中版本管理工具切换PHP版本
  • CentOS8怎么安装最新版Nginx
  • 一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列
  • 谈谈CSS实现水平垂直居中布局的方法
  • Photoshop简单的绘制逼真的小汽车教程
  • Photoshop创建简洁绚丽的几何组合背景
  • MySQL学习总结之触发器详解
  • PHP高并发实例详解之解决商品库存超卖问题
  • 4种移动端适配方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Photoshop制作冒气泡的透明艺术字教程
    • Photoshop巧用滤镜制作粉笔字教程
    • WordPress使用OSS Upload后媒体库无法加载一直转圈解决方法
    • 帝国CMS函数版首页、列表页、内容页调用TAG标签终级教程
    • Photoshop绘制宝石风格的LOGO设计教程
    • Photoshop制作漂亮火焰翅膀视频教程
    • PHP如何使用Callback/Callable类型
    • ThinkPHP如何使用migrate实现数据库迁移
    • Photoshop制作树木图案立体字教程
    • 浅谈css grid比Bootstrap更适合创建布局的原因

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有