日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2023/12/10 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP mysql数据迁移,如何自动化PHP/MySQL应用程序的迁移(架构和数据) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有一個“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应用程序的迁移(架构和数据)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。