gpt4 book ai didi

Django:ProgrammingError 关系不存在

转载 作者:行者123 更新时间:2023-12-04 13:39:05 26 4
gpt4 key购买 nike

heroku 上设置新数据库我试过 python manage migrate并得到许多与 relation already exists/does not exists 相关的异常.所以我按照这里的说明django 1.9: ProgrammingError: relation "users_user" does not exist但它没有用。

~ $ django-admin showmigrations
admin
[ ] 0001_initial
[ ] 0002_logentry_remove_auto_add
auth
[ ] 0001_initial
[ ] 0002_alter_permission_name_max_length
[ ] 0003_alter_user_email_max_length
[ ] 0004_alter_user_username_opts
[ ] 0005_alter_user_last_login_null
[ ] 0006_require_contenttypes_0002
[ ] 0007_alter_validators_add_error_messages
[ ] 0008_alter_user_username_max_length
contenttypes
[ ] 0001_initial
[ ] 0002_remove_content_type_name
dashboard
[ ] 0001_squashed_0024_auto_20161205_2214 (24 squashed migrations)
sessions
[ ] 0001_initial

当我跑 migrate
~ $ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, dashboard, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying dashboard.0001_squashed_0024_auto_20161205_2214...Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
psycopg2.ProgrammingError: relation "dashboard_dashboards" does not exist


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base.py", line 345, in execute
output = self.handle(*args, **options)
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 204, in handle
fake_initial=fake_initial,
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/migrations/executor.py", line 115, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/migrations/executor.py", line 145, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/migrations/executor.py", line 244, in apply_migration
state = migration.apply(state, schema_editor)
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/base/schema.py", line 92, in __exit__
self.execute(sql)
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/base/schema.py", line 112, in execute
cursor.execute(sql, params)
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/app/.heroku/python/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/app/.heroku/python/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "dashboard_dashboards" does not exist

这是 0001_squashed_0024_auto_20161205_2214.py的相关部分
operations = [
migrations.CreateModel(
name='Dashboards',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('dashboard_name', models.CharField(max_length=200, unique=True, verbose_name='Dashboard Name')),
('create_date', models.DateTimeField(auto_now=True, verbose_name='Dashboard Create Date')),
('advisory_end_date', models.DateField(verbose_name='End date of Advisory Process')),
('advisory_start_date', models.DateField(verbose_name='Start date of Advisory Process')),
('number_of_teams', models.IntegerField(verbose_name='Number of teams')),
],
),
migrations.AlterModelOptions(
name='dashboards',
options={'verbose_name': 'Dashboard', 'verbose_name_plural': 'Dashboards'},
),
migrations.RenameModel(
old_name='Dashboards',
new_name='Dashboard',
),
migrations.RenameField(
model_name='dashboard',
old_name='dashboard_name',
new_name='name',
),
migrations.AlterField(
model_name='dashboard',
name='create_date',
field=models.DateTimeField(auto_now_add=True, verbose_name='Dashboard Create Date'),
),

使用 sqlite3 在本地运行时迁移工作正常数据库但不在 herokupostgresql .

最佳答案

这可能有助于部署到 Heroku。
https://ultimatedjango.com/learn-django/lessons/push-to-heroku/

问题是在 Heroku 上你需要在运行服务器之前运行迁移,所以这对我有用。

$ heroku run python manage.py migrate

关于Django:ProgrammingError 关系不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40980717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com