第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

是否可以在 codeigniter 中使用更新的內(nèi)容轉(zhuǎn)儲(chǔ) mysql 數(shù)據(jù)庫

是否可以在 codeigniter 中使用更新的內(nèi)容轉(zhuǎn)儲(chǔ) mysql 數(shù)據(jù)庫

PHP
ITMISS 2024-01-19 10:31:37
我將編寫腳本來使用 codeigniter 備份 mysql 數(shù)據(jù)庫。然而,這里有一個(gè)棘手的問題。我應(yīng)該將所有電子郵件轉(zhuǎn)換為虛擬字母而不是真實(shí)的電子郵件信息。例如,Jon@gmail.com => aBdsEDd@test.com因此,新開發(fā)人員可以使用所有數(shù)據(jù),但不能使用真實(shí)的電子郵件,因?yàn)樗鼈兪钦鎸?shí)的個(gè)人信息。但我不確定這是否可能。在這里,我放棄了我的方法,但無法更改當(dāng)前數(shù)據(jù)庫。$this->load->dbutil();$this->load->helper('file');$this->load->helper('download');$dumpOption = array(    'tables'        => array(),   // Array of tables to backup.    'ignore'        => array(),                     // List of tables to omit from the backup    'format'        => 'txt',                       // gzip, zip, txt    'filename'      => 'mybackup.sql',              // File name - NEEDED ONLY WITH ZIP FILES    'add_drop'      => TRUE,                        // Whether to add DROP TABLE statements to backup file    'add_insert'    => TRUE,                        // Whether to add INSERT data to backup file    'newline'       => "\n"                         // Newline character used in backup file);if(ENVIRONMENT !== 'production') {    if ($this->dbutil->database_exists('db'))    {        $backup = $this->dbutil->backup($dumpOption);        try {            echo 'loading database .....';            write_file('./mybackup.sql', $backup, 'w+');            echo 'finish preparing dev data.';        } catch(Exception $e) {            printf('Message: ' .$e->getMessage());        }    } else {        echo 'database does not exist.';    }}如果可能的話你能讓我知道嗎?最重要的是轉(zhuǎn)儲(chǔ)文件應(yīng)該具有更新的內(nèi)容,但我們不應(yīng)該更改原始數(shù)據(jù)庫,更改應(yīng)該僅在轉(zhuǎn)儲(chǔ)上。是否可以?非常感謝。
查看完整描述

2 回答

?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

嚴(yán)格來說,答案是否定的,您不能以這種方式更改數(shù)據(jù)的內(nèi)容,因?yàn)閭浞莘椒〞?huì)獲取表列表并將它們按原樣轉(zhuǎn)儲(chǔ)到文件中。嗯,這正是您對(duì)備份解決方案的期望。

然而,您可以做的是創(chuàng)建包含您所需的替換邏輯的視圖。然后您可以使用備份方法來備份視圖,而不是表。

否則,您需要在普通查詢中編寫邏輯或在 php 代碼中實(shí)現(xiàn)它并自己創(chuàng)建轉(zhuǎn)儲(chǔ)文件。


查看完整回答
反對(duì) 回復(fù) 2024-01-19
?
夢(mèng)里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

嘗試像這樣改變運(yùn)行中的數(shù)據(jù)將是“不可取”和“不可能”的混合體。我所做的就是首先將數(shù)據(jù)庫克隆到暫存位置,然后運(yùn)行 PII 和其他敏感信息的數(shù)據(jù)清理腳本。然后您可以將其克隆到開發(fā)環(huán)境。


但是,對(duì)于像電子郵件地址這樣可能在關(guān)系中使用或需要唯一的值,您需要格外小心,正如我們通過艱難的方式發(fā)現(xiàn)的那樣,當(dāng)您更改所有電子郵件以正確example@example.com測試與之相關(guān)的任何內(nèi)容時(shí)信息幾乎變得不可能。


對(duì)于這樣的事情,我建議從真實(shí)的電子郵件中派生出一封虛擬電子郵件,例如:


UPDATE users

SET email = CONCAT(

  SUBSTRING(MD5(email),1,16),

  '@',

  SUBSTRING(MD5(email),17,16),

  '.com'

);

結(jié)果:


foo@bar.com -> f3ada405ce890b6f@8204094deb12d8a8.com

bar@foo.com -> dc8a42aba3651b0b@1f088ef928ff3b1d.com

然而,隨著數(shù)據(jù)庫的增長,像這樣的克隆變得越來越成為一個(gè)問題,特別是對(duì)于本地開發(fā),因?yàn)閿?shù)據(jù)庫的大小可能只會(huì)隨著時(shí)間的推移而增長。目前,我們的產(chǎn)品數(shù)據(jù)庫已接近 300GB,而我們的一些開發(fā)人員的機(jī)器除了滿足所有其他要求外,還無法容納副本。另外,克隆和清理需要幾個(gè)小時(shí),而且現(xiàn)在每個(gè)人都處于遠(yuǎn)程狀態(tài),通過已經(jīng)受限的鏈接將這些克隆提供給開發(fā)人員會(huì)帶來額外的后勤問題。


最好的解決方案,特別是對(duì)于本地開發(fā)人員來說,是僅轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫的架構(gòu),并用一組有代表性的模擬數(shù)據(jù)填充它以進(jìn)行測試。對(duì)于全面的測試,我們?cè)?CI/CD 管道環(huán)境中維護(hù)數(shù)據(jù)庫的完整副本、清理版本。


查看完整回答
反對(duì) 回復(fù) 2024-01-19
  • 2 回答
  • 0 關(guān)注
  • 171 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)