当前位置: 首页 > 面试题库 >

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

赵灼光
2023-03-14
问题内容

从默认的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


 类似资料:
  • 问题内容: 我想使用一些需要Python的较新软件,并且我们目前已将它们同时安装在专用的CentOS服务器上,如下所示: 如何切换为默认使用? 问题答案: 作为根: 这将从/ usr / local / bin / python-> /usr/bin/python2.6建立符号链接(替换旧的硬链接)。

  • 本文向大家介绍Django 将更改应用到数据库(迁移),包括了Django 将更改应用到数据库(迁移)的使用技巧和注意事项,需要的朋友参考一下 示例 创建新模型或修改现有模型后,您将需要为更改生成迁移,然后将迁移应用于指定的数据库。这可以通过使用Django的内置迁移系统来完成。manage.py在项目根目录中使用实用程序: 上面的命令将在migrations应用程序的子目录下创建必需的迁移脚本。

  • 我在我的应用程序中使用RoomDB。其实我想看db文件。 上面的代码是给我db文件所在的目录保存目录是这样的 但我仍然无法从命令提示符下使用sudo访问数据目录。现在我想把DB文件的位置改成内存或SD卡中的其他文件夹。我该怎么做?

  • 当我试图在Django管理面板中查看我的产品时,出现以下错误。在我的产品模型中,我有“models.DecimalField”,我认为这很重要。Django错误描述 base.py第34行是一个函数: 更多信息:无效操作at/admin/products/products/ 产品/admin.py 来自django。contrib导入管理 从…起进口产品模型 管理地点登记册(产品)

  • 问题内容: 我正在考虑将Django用于我要开始的项目(fyi,一个基于浏览器的游戏),而我最喜欢的功能之一就是根据我定义的Django模型自动创建数据库表(我似乎在其他任何框架中都找不到的功能)。当我在文档中看到此内容时,我已经认为这太好了,无法实现: Syncdb不会更改现有表 syncdb将仅为尚未安装的模型创建表。安装后,它将永远不会发出ALTER TABLE语句来匹配对模型类所做的更改。

  • 问题内容: 我在模型上有一个字段,其内容是: 然后,我将模型更改为: 当我运行以检查迁移时,发现以下更改: 我不理解为什么Django在表中应用a ,因为我正在 创建 默认值。如果这是正确的,Django如何实现默认值? 有关我的工具的信息: PostgreSQL 9.5; Django 1.11b1; 问题答案: 从ln开始的对django / db / backends / base / sc