Python Heroku+Django migrate命令不创建任何表

Python Heroku+Django migrate命令不创建任何表,python,django,postgresql,heroku,postgis,Python,Django,Postgresql,Heroku,Postgis,我知道跑步的时候 $heroku运行python manage.py迁移 它从models.py创建所有表。但是我的输出看起来不同:表没有被创建,甚至没有被提及 Operations to perform: Apply all migrations: findCharge Running migrations: Applying findCharge.0001_initial... OK Applying findCharge.0002_auto_20161124_1729...

我知道跑步的时候 $heroku运行python manage.py迁移

它从models.py创建所有表。但是我的输出看起来不同:表没有被创建,甚至没有被提及

Operations to perform:
  Apply all migrations: findCharge

Running migrations:
  Applying findCharge.0001_initial... OK
  Applying findCharge.0002_auto_20161124_1729... OK
  Applying findCharge.0003_auto_20161124_1955... OK
  Applying findCharge.0004_chargepoints_description... OK
不管怎样,当我打电话的时候

$ heroku pg:psql and then ONYX=> \dt
看起来该表已创建,并在关系列表中显示“findCharge_chargepoints”

…
public | findCharge_chargepoints | table | owner_name
…
但是当我打字的时候

ONYX=> SELECT * FROM findCharge_chargepoints;
ERROR:  relation "findcharge_chargepoints" does not exist
我试图运行“python manage.py migrate”,但没有应用程序名,但结果是一样的。在推到git之前,我在本地机器上运行“makemigrations”。我还可以创建超级用户,我可以打开并向数据库添加一些数据,但我的应用程序没有看到这些数据

有什么建议吗?我已经坚持了三天了,所以如果有任何帮助,我将不胜感激

另外,我使用带有postgis扩展的heroku postgresql basic

p.p.S

settings.py中的数据库设置:

DATABASES = {
'default':{
    'ENGINE': 'django.contrib.gis.db.backends.postgis',
    'NAME': 'charging_points',
    'USER': 'postgres',
    'PASSWORD': 'XXX',
}
}
在文件的末尾

import dj_database_url
DATABASES['default'] = dj_database_url.config()
DATABASES['default']['ENGINE'] = "django.contrib.gis.db.backends.postgis"

我想我找到了解决办法或某种解决办法。表已创建,但要访问它,我必须使用双引号:

select * from "findCharge_chargepoints";

我没想到会这样,因为由migrate创建的其他表,如auth_user、auth_group等,根本不需要任何qoutes。

可以显示数据库设置吗?如果它不使用默认的“public”模式,那么您可能还必须提供完整的模式。表路径。Daniel Roseman,我刚刚在问题中添加了这些信息,是否有帮助。@shongolo因为我在heroku还是个新手,我想知道我是否做对了。我使用命令:将搜索路径设置为findCharge\u chargepoints,public;但无论如何,当我试图对该表执行某些操作时,我得到了一个错误:表findcharge\u chargepoints不存在。这是因为您在那里有一个大写字符。。。负责人是C。如果你不加双引号,它可能会查找findcharge\u chargepoints注意小写的c。当你使用双引号时,你会清楚地说明你的表名和大小写。谢谢@Sharky,现在我看到了。为了澄清,因为这种行为对我来说有点不明显:PostgreSQL标识符在技术上是区分大小写的,但当在DML或DDL中使用不带引号的标识符时,PostgreSQL会隐式地将其小写。因此,select*from AUTH_USER被处理为select*from AUTH_USER,工作正常,因为表名是AUTH_USER而不是AUTH_USER。但是,如果确实从AUTH_USER中选择了*,则查询将失败。因此,无论创建findCharge_chargepoints表的是什么,都会使用带引号的标识符,从而使用明确的大小写。