如何将本地sqlite3数据传输到heroku



我制作了一个运行完美的django,然后尝试将其部署到heroku。除了我的本地数据,一切都很好。我的开发数据库是sqlite3,而我在那里配置了heroku数据库url。存储在我的sqlite3中的数据。如何将本地数据传输到使用postgres的heroku应用程序。请你带我过去!

这是我的django数据库设置

The database url is the heroku postgres url
DATABASES = {
'default':dj_database_url.config(
default=env('DATABASE_URL')
)
}

我想在前面的回答中添加一些内容,通过这些内容,我能够成功地将数据从本地sqlite数据库迁移到heroku的postgresql数据库。

首先,将数据库转储到json文件中,如下所示:

python manage.py dumpdata --exclude contenttypes > db.json

完成后,您需要提交并将这些更改推送到本地以及heroku的git存储库。这个步骤是需要的,因为我们需要从这个";db.json";文件,因此它应该存在于heroku的回购中。因此,键入以下命令:

git add .  
git commit -m "added db"
git push
git push heroku main

在推送到heroku main之后,您可能需要运行heroku run ls,它将列出repo中的所有文件,并确保您的db.json存在。

最后运行此操作将数据加载到heroku:中

heroku run python3 manage.py loaddata db.json

您可能需要使用fixture。为此,首先需要运行dumpdata:

python manage.py dumpdata > db.json

然后用代码提交这些fixture。然后在Heroku中,您需要使用loaddata加载这些数据。

python manage.py loaddata db.json 

最新更新