【问题标题】:I can't migrate on heroku. Using Django MySQL我无法在heroku上迁移。使用 Django MySQL
【发布时间】:2021-08-07 14:42:17
【问题描述】:

我无法在 Heroku 上迁移。使用 Django 和 MySQL。 我不知道它有什么问题。 setting_mysql.py 有错误?

我遇到了这样的错误。

(base) mypc@mypc website % heroku run python manage.py migrate
Running python manage.py migrate on ⬢ myapp... up, run.3308 (Free)
Traceback (most recent call last):
  File "/app/.heroku/python/lib/python3.9/site-packages/django/db/backends/base/base.py", line 217, in ensure_connection
    self.connect()
  File "/app/.heroku/python/lib/python3.9/site-packages/django/db/backends/base/base.py", line 195, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/app/.heroku/python/lib/python3.9/site-packages/django/db/backends/mysql/base.py", line 227, in get_new_connection
    return Database.connect(**conn_params)
  File "/app/.heroku/python/lib/python3.9/site-packages/MySQLdb/__init__.py", line 130, in Connect
    return Connection(*args, **kwargs)
  File "/app/.heroku/python/lib/python3.9/site-packages/MySQLdb/connections.py", line 185, in __init__
    super().__init__(*args, **kwargs2)
MySQLdb._exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")

【问题讨论】:

    标签: python django heroku


    【解决方案1】:

    您提供了错误的数据库访问凭据,因为如果我没记错的话 - 您无法通过套接字连接到数据库。

    尝试官方解决方案:

    在 Heroku 上,敏感凭据存储在环境中 配置变量。这包括数据库连接信息(命名为 DATABASE_URL),传统上在 Django 中硬编码 应用程序。

    django-heroku 包会自动配置你的 Django 申请在 Heroku 上工作。它与 Django 2.0 兼容 应用程序。

    它提供了许多细节,包括读取 DATABASE_URL, 日志配置、与 Heroku CI 兼容的 TestRunner,以及 自动将“静态文件”配置为“正常工作”。

    安装 django-heroku:

    pip install django-heroku

    请务必将 django-heroku 添加到您的 requirements.txt 文件中。

    settings.py 的顶部添加以下导入语句:

    import django_heroku

    然后在settings.py的底部添加以下内容:

    激活 Django-Heroku: django_heroku.settings(locals())

    部署,一切顺利!

    我正在使用这个解决方案,它对我有用。 另一种选择是将数据库面板中的数据库访问数据复制并手动放入settings.py中

    【讨论】:

    • 谢谢。我修好了它。我为 Heroku 更改了“DATABASES”部分 settings.py,现在它可以工作了!
    猜你喜欢
    • 2015-05-16
    • 2012-04-26
    • 2015-10-25
    • 2021-12-02
    • 2021-06-17
    • 2021-06-27
    • 2018-12-27
    • 2021-09-25
    • 2018-10-23
    相关资源
    最近更新 更多