我在Heroku上的Django项目我想从SQLite迁移到PostgreSQL。我把我的settings.py改成了PostgreSQL。在Windows上我安装了PostgreSQL和psycopg2。我手动创建了数据库。当我运行makemigrations时,它创建了一个SQLite数据库。为什么?
settings.py
makemigrations
pu3pd22g1#
运行python manage.py makemigrations后,需要运行python manage.py migrate将数据应用到新数据库。
python manage.py makemigrations
python manage.py migrate
uz75evzq2#
@Dacey,您需要编辑settings.py文件并更改数据库名称(以及可能的连接)。数据https://docs.djangoproject.com/en/4.1/ref/settings/#databases
''' here you use triple quotes to block out your original statement DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'old_sqlite.db', } } close your triple quotes '''
将上面的内容更改为如下内容
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'PostGres_New', 'USER': 'postgres', 'PASSWORD': 'postgres', 'PORT':'5432', 'HOST':'localhost', } }
2条答案
按热度按时间pu3pd22g1#
运行
python manage.py makemigrations
后,需要运行python manage.py migrate
将数据应用到新数据库。uz75evzq2#
@Dacey,您需要编辑settings.py文件并更改数据库名称(以及可能的连接)。
数据https://docs.djangoproject.com/en/4.1/ref/settings/#databases
将上面的内容更改为如下内容