【发布时间】:2018-02-24 17:39:01
【问题描述】:
我最近对在 PostgreSQL 数据库上创建数据库表的 models.py 文件进行了一些更改。
在本地开发系统上一切正常。我将更改推送到 GitHub,然后部署到我的测试 AWS EC2 Linux 系统。部署没有错误,所有文件都反映了我在开发系统上的内容。
唯一的问题是部署后没有创建数据库表。如果我在测试 AWS EC2 上运行 makemigrations,它只会声明没有任何更改。创建反映我的models.py 的新数据库表的最佳方法是什么?
作为参考,这是我的部署脚本:
#!/bin/bash
source venv/bin/activate
git pull
pip install -r requirements.txt
./manage.py migrate
./manage.py collectstatic --no-input
initctl restart gunicorn
【问题讨论】:
-
我遇到了这个问题。必须将表的权限授予我们正在使用的 db 用户。但是迁移的表现就像它正在工作一样。
-
@Chris 是的,它们出现在测试环境中。它们按顺序排列并包含更改。
-
@KevinHirst 我正在运行 linux AWS EC2,数据库在 RDS 上。首先,这已经奏效了,但我将如何尝试您的建议?
-
必须以某种方式通过 SQL 授予访问权限。就像“GRANT ALL ON public.table_name to {user}”——在一种情况下,我们必须使用 psql 工具在 django_migrations 表上执行此操作。
标签: git python-3.x amazon-ec2 django-migrations