中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

將Django使用的數據庫從MySQL遷移到PostgreSQL的教程
來源:易賢網 閱讀:1262 次 日期:2015-04-14 15:32:07
溫馨提示:易賢網小編為您整理了“將Django使用的數據庫從MySQL遷移到PostgreSQL的教程”,方便廣大網友查閱!

我們已對 Django1.6 app完成了數據庫從mysql到PostgreSQL的遷移,如果你的環境很干凈,這個過程就會很簡單,只要允許syncdb 或者 migrate創建表,truncating表中的數據,然后運行dumpdata 和loaddatamanagement命令就完成了。

第一步,在你的PostgreSQL數據庫中創建一個空的實例:

?1 CREATE DATABASE dbname OWNER rolename;

第二步,在你的Django中給創建的數據庫加上配置

在setting.py 中,我們這樣配置:

?123456789101112131415161718 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dbname', 'USER': 'dbuser', 'PASSWORD': 'dbpass', 'HOST': 'mysql.example.com', 'PORT': '', }, 'postgresql': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'dbname', 'USER': 'dbuser', 'PASSWORD': 'dbpass', 'HOST': 'postgresql.example.com', 'PORT': '', } }

這樣我們就指定了以后名稱操作的是哪個數據庫。

第三步,在PostgreSQL實例中創建表

?1 python manage.py syncdb --migrate --no-initial-data --database=postgresql

在PostgreSQL中運行syncdb 和 migrations,這個過程并沒有初始數據。

第四步,truncate新創建的表

盡管我們在先前的步驟中指定了 –no-initial-data ,為了防止在遷移過程中用戶的自定義數據在未知情況下加入了表中,我們最好還是truncate一下新建的表,我們可以生成一個SQL腳本,運行:

python manage.py sqlflush --database=postgresql

第五步,從mysql中備份數據到JSON 文件中

Django 有一個dumpdata命令,用它可以生成一個數據庫無關的備份,默認格式是JSON。 python manage.py dumpdata --all --natural --indent=4 > dbname.json

這里的 -all 參數是為了確保你在導出數據的過程中有可能有你自己的過濾和修改數據的需求,-natural 參數告訴Django使用natural keys(如果可用的話) –indent 參數是為了使輸出更加可讀。

你也許想只導出特定的apps里的數據,或者只導出一個celery logs ,這樣的話,你就可以使用 –exclude參數,例如:

python manage.py dumpdata --all --natural --exclude=djcelery --exclude=search.SearchLog --indent=4 > dbname.json

第六步,加載JSON數據到PostgreSQL數據庫中 python manage.py loaddata dbname.json --database=postgresql

基本上遷移的過程就結束了,現在你只要修改一下你的數據庫配置,然后是PostgerSQL成為默認的數據庫。

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'dbname', 'USER': 'dbuser', 'PASSWORD': 'dbpass', 'HOST': 'postgresql.example.com', 'PORT': '', } }

在我們的情況下,我們的數據庫不是很干凈,我們的數據庫是給一個PHP的遺留代碼創建的,我們現在還在一步步擺脫它,我們有一些Django之外的數據庫,并且都在被程序使用,為了把這些遷移到PostgreSQL中,我使用了這個工具,過程還是簡單一些。

注意事項

Django 信號

你可能想禁止這些,當一個數據庫記錄創建的時候,你的程序可能就會發送給你的用過郵件,為了不打擾它們,在加載數據的時候,你需要保證它們被禁止了,Here's one way to handle this 這里我們使用了檢測器保證信號不會別觸發。

約束(像非空,unique 和外鍵)

我們的數據庫遷移過程碰到了很多這種問題,比如一個外鍵約束,但是其他的一個表不存在了,有一下空置的記錄,但是模型定義中不允許,比如復制的過程中存在unique約束,這些都需要手動干預,我必須使用SQL語句清除掉這些,Dumpdata 和loaddata 將會檢測到這些,所以你的數據庫必須是一個干凈的一致的狀態。

主鍵的硬編碼

這很痛苦,因為在我們的測試 suite中,到處都是主鍵的硬編碼,所以很多測試到失敗了,因為使用PostgreSQL 處理的序列的方法和mysql不太一樣,我必須手動修改700多個測試用例,大都是很簡單的修改但是很消耗時間。

原生SQL語句

幸運的是,我們只有一處使用了原生sql語句,有些mysql中的函數在PostgreSQL中不適用,我們只用修改為在PostgreSQl中相同功能的函數就可以了。

大小寫敏感

字符串比較在PostgreSQL中是大小寫敏感的,但是在Mysql中不是,我在遷移非Django數據表過程中也遇到了一些問題,索引創建的時候,命令需要id,但是字段的名字是Id(字母I),我只要重命名為id就可以了。

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产精品一区二区尤物区 | 国产精品亚发布| 欧美日韩中文字幕日韩欧美| 国产精品一区二区久激情瑜伽| 国产色婷婷国产综合在线理论片a| 在线日本高清免费不卡| 99re热这里只有精品视频| 老司机免费视频一区二区| 国产美女精品一区二区三区| 日韩午夜在线视频| 欧美成人日韩| 在线观看国产成人av片| 欧美成人精品在线| 亚洲三级电影全部在线观看高清 | 99成人免费视频| 有码中文亚洲精品| 久久婷婷影院| 影音先锋久久久| 欧美二区在线观看| 一本久久精品一区二区| 久久久久久久91| 激情综合激情| 欧美激情1区2区3区| 中文久久乱码一区二区| 国产精品久久久久国产精品日日| 亚洲欧美在线aaa| 极品日韩久久| 欧美日精品一区视频| 久久精品国产99精品国产亚洲性色| 国语自产精品视频在线看一大j8| 一区在线免费观看| 鲁大师影院一区二区三区| 99国产精品视频免费观看一公开| 国产九区一区在线| 欧美伊人久久| 亚洲国产成人porn| 欧美日韩综合视频| 久久精品人人爽| 中文亚洲欧美| 亚洲精美视频| 国产视频久久网| 91久久精品一区二区别| 久久精品视频在线观看| 亚洲国内精品| 久久这里有精品视频| 欧美一区二区三区播放老司机| 国产一区二区在线观看免费播放 | 国外成人性视频| 国产精品一国产精品k频道56| 欧美不卡高清| 欧美精品性视频| 欧美精品麻豆| 国产精品影视天天线| 久久久人成影片一区二区三区 | 欧美激情视频在线播放 | 一本久久综合亚洲鲁鲁五月天| 国产日韩欧美夫妻视频在线观看| 欧美日韩在线精品一区二区三区| 欧美精品日韩综合在线| 一区二区三区日韩欧美| 欧美电影免费观看大全| 亚洲一区二区三区四区五区午夜 | 国产精品一二一区| 在线精品观看| 亚洲精品一区二区三区99| 亚洲精品一区二区三区蜜桃久| 亚洲第一中文字幕| 日韩视频中文| 亚洲欧美国产va在线影院| 欧美**人妖| 亚洲国产精品精华液网站| 久久亚洲精品伦理| 欧美精品成人| 欧美专区在线| 欧美精品一级| 伊人久久婷婷| 亚洲国产欧美一区二区三区丁香婷| 黄色成人精品网站| 亚洲一区二区3| 欧美高清在线视频观看不卡| 欧美激情第10页| 亚洲美女尤物影院| 欧美性理论片在线观看片免费| 久久久最新网址| 亚洲午夜激情| 欧美成人日本| 欧美一区二区三区四区在线观看地址| 午夜宅男久久久| 国产精品欧美一区二区三区奶水| 欧美成人小视频| 老司机午夜精品视频| 欧美丰满少妇xxxbbb| 在线观看欧美黄色| 欧美日韩亚洲一区二区三区| 欧美日韩色综合| 欧美777四色影视在线| 国产亚洲欧美一区二区三区| 欧美一区二区三区四区在线观看地址 | 免费成人你懂的| 亚洲性感激情| 欧美一区二区免费视频| 亚洲一区二区三区国产| 在线成人中文字幕| 国产一区二区剧情av在线| 国产亚洲欧美在线| 洋洋av久久久久久久一区| 欧美三级日本三级少妇99| 99国产精品国产精品毛片| 国产精品av一区二区| 欧美 日韩 国产在线| 一区二区三区精密机械公司| 亚洲第一视频| 一区二区欧美在线| 欧美亚洲在线| 男人的天堂亚洲| 亚洲狠狠丁香婷婷综合久久久| 欧美日韩在线观看视频| 国产乱码精品一区二区三区不卡 | 国产精品第2页| 毛片av中文字幕一区二区| 亚洲欧美国内爽妇网| 亚洲免费观看高清完整版在线观看熊| 欧美一区二区在线观看| 久久久成人精品| 久久久久国产一区二区三区四区| 亚洲国产成人高清精品| 黑人极品videos精品欧美裸| 国产精品一区免费观看| 国产精品美女999| 老司机aⅴ在线精品导航| 欧美中文字幕视频| 欧美一区二区视频在线观看| 午夜精品久久久久久久久久久久| 亚洲一区二区精品在线观看| 在线一区二区视频| 亚洲欧美日本在线| 欧美一区午夜精品| 美女国产一区| 亚洲综合成人婷婷小说| 亚洲国产欧美一区| 精品69视频一区二区三区| 红桃视频亚洲| 艳妇臀荡乳欲伦亚洲一区| 日韩亚洲精品视频| 久久久精品国产免费观看同学| 欧美成人精品高清在线播放| 欧美日韩一本到| 国内精品久久久久久久97牛牛| 国产在线欧美日韩| 99视频精品全国免费| 在线视频中文亚洲| 欧美**人妖| 亚洲国产中文字幕在线观看| 午夜综合激情| 国产一区视频在线观看免费| 亚洲自拍都市欧美小说| 国产麻豆综合| 久久精彩免费视频| 亚洲国产精品一区| 欧美激情一区二区三区在线| 亚洲国产美国国产综合一区二区| 久久久一区二区三区| 在线播放日韩欧美| 欧美日韩成人综合天天影院| 9l视频自拍蝌蚪9l视频成人| 欧美刺激性大交免费视频| 亚洲精品一区二区三区婷婷月| 欧美色图一区二区三区| 亚洲欧美在线x视频| 亚洲国产精品一区二区www| 欧美日韩国产影院| 久久婷婷av| 欧美一区在线直播| 亚洲少妇最新在线视频| 在线观看欧美日韩国产| 国产精品国产三级国产专播精品人 | 亚洲麻豆国产自偷在线| 国产精品女主播一区二区三区| 午夜在线电影亚洲一区| 亚洲电影自拍| 韩国欧美国产1区| 国产美女精品一区二区三区| 欧美α欧美αv大片| 久久深夜福利免费观看| 午夜亚洲福利在线老司机| 亚洲一二三四久久| 亚洲一区欧美激情| 亚洲欧美日韩综合| 99精品国产福利在线观看免费| 国产一区二区精品| 国产亚洲激情| 国产精品日日做人人爱| 你懂的国产精品| 在线观看成人一级片| 国产日韩欧美在线播放| 国产美女精品视频免费观看| 国产欧美精品在线| 国产在线精品一区二区中文| 精品88久久久久88久久久| 亚洲黄色av一区|