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