Django中開發環境與生產環境數據庫表結構同步方案

Django中開發環境與生產環境數據庫表結構同步方案

引入

在開發Django中,前期都是用一個數據庫,當開發到一定階段後,需要引入生產環境的概念,這個時候很多開發者會利用
python manage.py makemigrations來進行數據庫表結構的同步,但是如果 makemigrations文件夾中文件過多,或者其他原因,會導致執行 python manage.py makemigrations報錯,報出來的錯好解決就好,如果不好解決,網上的一般方案就是讓你刪掉makemigrations文件夾。但是這個文件夾不僅僅是用來同步表,還可以讓你回顧你自己在什麼階段對錶做了什麼操作,我不建議刪除。

因此我這裏提供另一個思路,不從代碼框架層面去考慮,從工具層面去考慮。僅提供一個思路,如果你有更好的方案,也可以留言告訴我

工具

在數據庫的操作上,毫無疑問,Navicat 是非常強大的工具,具體怎麼獲取軟件我這裏就不多說,默認你已經安裝好了。

操作

步驟非常簡單

	我的兩個數據,一個是生產環境,一個Docker搭的測試環境

在這裏插入圖片描述
這裏我已經同步好了,沒同步之前應該是沒有report的 以上是前置條件

  1. 數據庫準備好之後在你的生產環境中導出.sql的文件 按下面操作

在這裏插入圖片描述

這裏要注意‘結構+表數據’代表整個表內容+整個表結構整個導出,如果數據量非常之大幾十m那種,建議選僅結構,數據後面再造。因爲數據量大在導入的時候容易報錯。我也不知道爲什麼,有大佬可以告訴我一下

  1. 在要導入的數據庫中選擇導入剛剛的.sql文件
    在這裏插入圖片描述
  2. 選擇你剛剛導出的文件,下面的都要勾上,或者根據自身的需求不勾。默認勾上就好
    在這裏插入圖片描述

總結

以上就是不通過Django的框架來操作兩個數據庫中的數據、表結構的同步,當然你能通過代碼來同步是更好,這裏只是一種替代方案。也提供一種思路,避免在開發的時候遇到問題鑽牛角尖,可以考慮通過另一種方式來達到目的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章