我有一个“Schema”对象,我使用 – 但你可以做同样没有类..

你想做的是创建一个“db_schema_versions”表:

CREATE TABLE db_schema_versions (

`table` varchar(255) NOT NULL PRIMARY KEY,

`version` INT NOT NULL

)

在您的数据库可以跟踪它是什么版本#之后 – 它可以自动执行SQL升级。

您应该在升级模式时锁定模式表。这样你就不会在尝试升级你的架构的同时有两个请求。

所以 – 跟踪你正在升级的版本 – 构建一个大的开关 – 这样的:

class SNTrack_Db_Schema extends MW_Db_Schema_Abstract {

protected $table = "sntrack_db_schema";

protected $version = 5;

protected function upgrade($fromVersion) {

// don't break

switch($fromVersion) {

case 0:

$this->db->query('CREATE TABLE sntrack_inbound_shipment (

`id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT,

`from` VARCHAR(255) NOT NULL,

`date` DATE NOT NULL,

`invoice` VARCHAR(255) NOT NULL,

`notes` TEXT

)');

$this->setVersion(1);

case 1:

$this->db->query('ALTER TABLE sntrack_details ADD `shipment_id` INT');

$this->db->query('ALTER TABLE sntrack_product ADD `inventory` INT NOT NULL DEFAULT 0');

$this->db->query('CREATE TABLE sntrack_inventory_shipment (

`shipment_id` INT NOT NULL,

`product_id` INT NOT NULL,

`qty` INT NOT NULL,

PRIMARY KEY (`shipment_id`, `product_id`)

)');

$this->setVersion(2);

...etc

PHP mysql数据迁移,如何自动化PHP/MySQL应用程序的迁移(架构和数据)相关推荐

  1. c语言在一组数据中找最大值最小值,用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均...

    问题标题 用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均 2019-7-3来自ip:18.156.193.207的网友咨询 浏览量:318 手机版 ...

  2. 宝塔 mysql迁移_(2020年最新方法)如何快速迁移网站?使用宝塔一键迁移转移网站数据详细教程...

    选择一个好的服务器提供商真的很重要,特别忌讳那种国内个人的服务商,买了几台服务器,分割一下就敢拿出来卖. 正常情况其实也没事,就怕个人卖家实力有限,维护不好服务器,然后就经常宕机,还会经常搞出各种幺蛾 ...

  3. mac bash file密码_Mac系统 | 菜鸟程序员项目模拟数据迁移,会安装Mysql服务端吗

    在中小公司做项目,关系型数据库一般用的比较多的是MySQL.项目从开发到上线的过程中,公司会提供虚拟机服务器数据库中的数据给自己进行本地开发和测试.在开发过程中,我也发现公司只是提供数据库服务端的ip ...

  4. mysql goldengate_oracle GoldenGate实现Oracle到MySQL数据平滑迁移

    (一)OGG逻辑架构 参照上图简单给大家介绍下OGG逻辑架构,让大家对OGG数据同步过程有个简单了解,后面章节会详细演示相关进程的配置方式,在OGG使用过程中主要涉及以下进程及文件:Manager进程 ...

  5. 从大数据量分库分表 MySQL 合并迁移数据到 TiDB

    如果分表数据总规模特别大(例如大于 1 TiB),并且允许 TiDB 集群在迁移期间无其他业务写入,那么你可以使用 TiDB Lightning 对分表数据进行快速合并导入,然后根据业务需要选择是否使 ...

  6. 华为云数据盘挂在及mysql数据库数据目录迁移到数据盘

    背景 前篇文章中安装了mysql,但是系统盘只有40G,以后肯定不够用,于是,又增加了200G的数据盘,那此时就需要挂在盘,并需要将mysql的数据存储移动到数据盘中 1.挂载 1)检查磁盘挂在 分明 ...

  7. 使用liquibase进行数据库迁移(Postgresql/Mysql)——springboot整合Liquibase以及使用maven命令执行Liquibase同步更新数据

    文章目录 一.什么是Liquibase? 1.liquibase的优点 2.liquibase的基本概念 3.官网地址 二.SpringBoot整合Liquibase 1.简介 2.项目结构 3.测试 ...

  8. 两台电脑mysql数据迁移,各版本mysql迁移(亲测)

    迁移只适用于往全新的电脑上迁移data,如果新电脑数据库也有数据,你想新老数据库都能使用,就看新老谁的数据库没那么大,导出数据再导入这样迁移也行 迁移过程中两台电脑用户密码都一样,root 12345 ...

  9. 使用navicat premium将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL

    有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...

最新文章

  1. pytorch2——Pytorch基础数据结构——张量(深度之眼)
  2. 如何确定线程池的大小?
  3. python【蓝桥杯vip练习题库】ALGO-190素因子去重(数论 递归)
  4. 基于MTD的NAND驱动开发(二)
  5. 黑马程序员-------------(十)Java基础知识加强(一)
  6. Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件
  7. Redis有几种数据类型?文末领取面试资料
  8. mysql-5.7.17的最新安装教程
  9. Flash开发iOS应用全攻略(四)——如何为iTunes Connect准备应用
  10. execjs._exceptions.ProgramError: TypeError: ‘JSON‘ 未定义
  11. 思维导图工具----Edraw
  12. JAVA velocity语法讲解
  13. 关于Chrome浏览器升级到80版本后受影响的场景以及解决方案
  14. 齐齐哈尔市全国计算机等级考试,2021年9月黑龙江省齐齐哈尔市全国计算机等级考试报名时间...
  15. WinForm常用控件
  16. 计算机专业该如何学习:大一篇
  17. 微软裁员方式曝光:鼓励自愿退休 减少合同工
  18. 哥哥教你学嵌入式 之 智芯科技 开发板 Z20K11x系列 教程(一)
  19. 360云盘关闭:一个360系列粉的吐槽
  20. Android 9.0默认支持的语言

热门文章

  1. 矩阵快速幂 HDU3483
  2. SqlServer按时间自动生成生成单据编号
  3. 使用.net备份和还原数据库
  4. web开发常用js功能性小技巧(转)
  5. [小错误][JAVA][数组初始化]数组静态初始化和动态初始化不能混用
  6. 线性代数的本质笔记-更新ing
  7. 概率中比较重要的知识
  8. xml生成2维码_MyBatis(2)之MyBatis-Generator最佳实践
  9. java线程池怎么创建_java中的线程池,如何创建?
  10. java 新窗口跳转页面_Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开...