一.执行数据迁移之前的操作

在advance\common\config\main.php,设置好数据库

二.执行数据迁移命令

1.cd 进入advance根目录   即yii.bat在的目录下

2.执行yii  可查看相应的命令

3.执行创建新的文件 yii migrate/create table_name

4.yii migtare

migrate/create    创建一个新的迁移
migrate/down             通过恢复旧的迁移来降级应用程序
migrate/fresh 删除所有表和相关约束,从一开始就开始迁移                
migrate/history 显示迁移历史记录
migrate/mark 修改迁移历史到指定的版本
migrate/new 显示未应用的新迁移
migrate/redo 重新执行最后几个迁移
migrate/to 升级或降级到指定的版本
migrate/up (default)

通过应用新的迁移来升级应用程序。

三.各种方法解析

总览

yii\db\Migration::execute(): 执行一条 SQL 语句
yii\db\Migration::insert(): 插入单行数据
yii\db\Migration::batchInsert(): 插入多行数据
yii\db\Migration::update(): 更新数据
yii\db\Migration::delete(): 删除数据
yii\db\Migration::createTable(): 创建表
yii\db\Migration::renameTable(): 重命名表名
yii\db\Migration::dropTable(): 删除一张表
yii\db\Migration::truncateTable(): 清空表中的所有数据
yii\db\Migration::addColumn(): 加一个字段
yii\db\Migration::renameColumn(): 重命名字段名称
yii\db\Migration::dropColumn(): 删除一个字段
yii\db\Migration::alterColumn(): 修改字段
yii\db\Migration::addPrimaryKey(): 添加一个主键
yii\db\Migration::dropPrimaryKey(): 删除一个主键
yii\db\Migration::addForeignKey(): 添加一个外键
yii\db\Migration::dropForeignKey(): 删除一个外键
yii\db\Migration::createIndex(): 创建一个索引
yii\db\Migration::dropIndex(): 删除一个索引

1、在表中插入某字段 :

public function up()
{$this->addColumn('{{application_service}}', 'auditor', 'INT(10) NOT NULL COMMENT "审核人" AFTER 'user_id', CHANGE COLUMN `status` `status` tinyint(4) NOT NULL COMMENT "绑定状态,0:解绑 1:绑定" AFTER 'auditor'');
}

2、修改表中某字段:

public function up()
{$this->alterColumn('{{application_service}}', 'status', 'SMALLINT(4) NOT NULL DEFAULT 0 COMMENT       "绑定状态,0:解绑 1:未绑定 2:审核中 3:审核通过 4:审核拒绝 5:禁用"');
}

3、增加索引:

public function up(){$this->createIndex('created_at', "{{app_base}}", ['created_at'],true);
}

4、创建数据表:

public function up()
{$tableOptions = null;if ($this->db->driverName === 'mysql') {$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB COMMENT="菜单表"';}$this->createTable('{{%menu}}', ['id' => $this->primaryKey(),'parent_id' => $this->integer(11)->defaultValue(0)->comment('父级菜单id'),'menu_name' => $this->string(100)->notNull()->comment('菜单名称'),'menu_type' => $this->string(100)->notNull()->comment('菜单类型(menu菜单,sub_menu子菜单)'),'menu_action' => $this->string(100)->notNull()->comment('菜单链接'),'menu_roles' => $this->string(100)->comment('角色'),'menu_depth' => $this->smallInteger(1)->defaultValue(0)->comment('菜单深度'),'menu_icon' => $this->text()->comment('ICON代码:图标'),'menu_des' => $this->text()->comment('菜单简介'),'menu_order' => $this->smallInteger(1)->defaultValue(0)->comment('显示顺序'),'menu_show' => $this->smallInteger(1)->defaultValue(0)->comment('是否显示(0:显示, 1:不显示)'),'created_at' => $this->integer(),'updated_at' => $this->integer(),], $tableOptions);
}

5、删除某字段:

public function down()
{$this->dropColumn('{{app_base}}', 'manager_id');
}

6、删除某张表:

public function down()
{$this->dropTable('{{%file_storage_item}}');
}

yii2 学习 之 migrate 数据迁移相关推荐

  1. Atlassian data migrate 数据迁移

    Atlassian data migrate 数据迁移 数据迁移 在 Atlassian 的用户来看,都是让人觉得充满风险及工程艰巨的任务,但其实这个工作,在运维期间的各种场景会发现,数据迁移其实是一 ...

  2. Python轻量级Web框架Flask(5)——Flask模型基础和数据迁移

    0.前言:学习这部分的前提是对python的面向对象有一定的了解,同时对MySQL有扎实的学习 1.Flask模型基础知识: Flask模型 ORM (注意:在flask中用ORM可以实现SQL语句功 ...

  3. 基于特征的对抗迁移学习论文_有关迁移学习论文

    如果你有好的想法,欢迎讨论! 1 Application of Transfer Learning in Continuous Time Series for Anomaly Detection in ...

  4. MySQL 亿级数据导入导出/数据迁移笔记

    最近MySQL的笔记有点多了,主要是公司Oracle比较稳定维护较少,上周被安排做了一个MySQL亿级数据的迁移,趁此记录下学习笔记: 数据迁移,工作原理和技术支持数据导出.BI报表之类的相似,差异较 ...

  5. 在大量数据迁移期间oracle学习笔记

    在数据迁移期间oracle学习笔记 0主键(自增) 1用户代码 2区域代码 3承保公司代码 4理赔编码 5投保确认码 6案件状态 7案件进展 8重开案件进展 9转换后案件状态 需求分析: 1.根据上述 ...

  6. 数据异质性会影响深度学习变化检测模型的迁移能力,请列出提升模型迁移性的解决思路...

    数据异质性会导致深度学习变化检测模型的迁移能力降低.可以采用以下解决思路来提升模型的迁移性: 数据预处理: 对于不同类型的数据进行标准化处理,使得模型能够更好的适应不同的数据类型. 模型正则化: 通过 ...

  7. 【迁移学习】大数据时代下的迁移学习--- 机器学习的下一个前沿

    文章内容索引: 什么是迁移学习? 为什么现在需要迁移学习? 迁移学习的定义 迁移学习的应用场景 迁移学习的应用 从模拟仿真中学习 适应新的领域场景 跨语言转化知识 迁移学习方法 使用预先训练的CNN得 ...

  8. java学习之路:血与泪的系统升级之数据迁移

    目录 前言 前因 数据量 初步实现 后期优化 问题和处理方案总结 1. **分页查询慢怎么办?** 2. **kafka消费者频繁报错唯一约束冲突** 前言 在最近的工作中,入行两年的我终于理解到了一 ...

  9. pta段错误是什么意思_用Python执行Django数据迁移时报!(1091错误及解决方法)...

    前言: 今天为大家带来的内容是用Python执行Django数据迁移时报!(1091错误及解决方法)本文内容具有不错的参考意义,希望在此能够帮助到大家! 前几天在Pycharm 中的Terminal下 ...

最新文章

  1. 2W+好评,这个python数据分析课程免费开放3天!
  2. UVA11464偶数矩阵
  3. UESTC_酱神寻宝 2015 UESTC Training for Dynamic ProgrammingProblem O
  4. 【Log4j日志输出】控制台输出、输出到文件:简单使用示例
  5. 面试官问:JS的this指向
  6. Navicat MySQL连接Linux下MySQL的及2003错误解决方案
  7. Bailian2925 大整数的因子【模除】
  8. opencv学习第6课官方练习实现 Create a Paint application with adjustable colors and brush radius using trackbars
  9. 一个三年Java程序员的面试总结!
  10. Linux一些最基本命令
  11. 台达服务器AB和B2系列区别,台达伺服各系列区别
  12. 如何在Java中执行Python模块?从认识JEP库开始
  13. 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第七节课笔记
  14. 地图制作:Google Earth Pro的下载及功能介绍(详细介绍)(上)
  15. 在java中获取全年的节假日(包含周末和法定节假日及调休日)
  16. 把Excel里的折线图另存为图片
  17. 愚人节主题的微信公众号图文排版有哪些搞怪素材?
  18. 校园 计算机网络设置路由器,GSWiFi路由器校园网怎么设置
  19. sql语句操作(2)
  20. css 针对ie6 hank 兼容的终极解决办法

热门文章

  1. 如果你到了25岁,还没到30岁。——李开复
  2. [电动智能汽车-1]:原理 - 纯电动汽车的工作原理
  3. 3D引擎架构设计高级篇
  4. 如何用python破解热点_用30行Python代码制作wifi万能钥匙,邻居家wifi网速好快
  5. Base64编码导致服务器崩溃
  6. 第一章 动态网页基础
  7. 2019届百度暑期实习面试经验分享
  8. ZeroMQ:云时代极速消息通信库
  9. win10添加网络打印机_安装网络、无线、蓝牙、共享打印机,在win10上这样操作...
  10. java rtsp 开源_Github上最受欢迎的10大开源免费的RTSP流媒体项目