如何将所有数据从主服务器数据库复制到本地sqlite数据库以在本地使用?

时间:2017-01-31 05:28:00

标签: python django

本地数据库设置 -

`DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
 }`

主数据库设置 -

`DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.mysql',
        'NAME': '******',
        'USER': '******',
        'PASSWORD': '********',
        'HOST': '******', 
       'PORT': '****',
    }
}`

我是从git项目中做到的 python manage.py dumpdata > all.json。但后来我不知道接下来要做什么,比如如何将这个json文件用于更新本地数据库的命令。

我是初学者。请帮助我解决这个问题。

2 个答案:

答案 0 :(得分:2)

您应始终在两端使用来自同一供应商的RDBMS。并且最好是相同的版本。虽然像Django这样的ORM应该与数据库无关,但不同供应商的产品之间仍然存在许多细微差别。例如,Sqlite是流行的开源数据库中功能最少的特性。如果你在开发中使用sqlite,在生产中使用postgresql,那么你将自己限制在sqlite具有的一组功能中。但是postgresql还有很多。布道的右派。

在实时服务器上执行

python manage.py dumpdata > data.json

然后将文件复制到本地计算机并执行:

python manage.py loaddata data.json

答案 1 :(得分:0)

python manage.py migrate    
python manage.py loaddata all.json

此命令会将整个数据加载到数据库中,无论您在settings.py

中指定了什么