python – 将Django开发数据库从默认的SQLite更改为PostgreSQL

从默认的SQLite数据库迁移到Postgres数据库需要采取哪些步骤?

我这样做是为了让我的本地开发环境尽可能靠近我的实时服务器(使用postrgres).

或者,本地开发使用SQLite的原因是什么?是不是建议使用Postgres进行本地开发?

最佳答案 您可以尝试以下步骤:

1.安装psycopg2以配置数据库:

pip install psycopg2

2.在默认settings.py内

更改原始值:

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

至:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'NAME_OF_DB',
        'USER': 'DB_USER_NAME',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',
        'PORT': 'PORT_NUMBER',
    }
}

3.迁移数据库:

python manage.py makemigrations
python manage.py migrate

编辑:
谢谢@robotHamster评论.以下是同步现有数据的方法:

首先备份数据:

python manage.py dumpdata > datadump.json

更改数据库设置后:

python manage.py loaddata datadump.json

资料来源:What’s the best way to migrate a Django DB from SQLite to MySQL?

点赞