如何更改在 MAMP 上运行的 Django 项目数据库名称?
Posted
技术标签:
【中文标题】如何更改在 MAMP 上运行的 Django 项目数据库名称?【英文标题】:How can I change Django's project database name running on MAMP? 【发布时间】:2014-02-15 17:54:37 【问题描述】:所以,我有一个正在运行的项目,它使用带有 MAMP 本地服务器的 mysql 数据库,但出于合规性问题,我需要更改数据库名称。所以我在 MAMP 中对其进行了更改,并在 settings.py 中对其进行了更改,如下所示:
DATABASES =
'default':
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'prototipodb', # Or path to database file if using sqlite3.
'USER': 'palapa', # Not used with sqlite3.
'PASSWORD': 'palapa', # Not used with sqlite3.
'HOST': '/Applications/MAMP/tmp/mysql/mysql.sock', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
我认为通过这些更改,一切都会继续顺利运行,但我的服务器上出现以下错误:
由 > 启动的线程中未处理的异常 回溯(最近一次通话最后): 文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/commands/runserver.py”,第 91 行,inner_run self.validate(display_num_errors=True) 文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/base.py”,第266行,验证 num_errors = get_validation_errors(s, app) 文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/validation.py”,第 103 行,在 get_validation_errors connection.validation.validate_field(e, opts, f) 文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/validation.py”,第 14 行,在 validate_field db_version = self.connection.get_server_version() 文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第 415 行,在 get_server_version self.cursor().close() 光标中的文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/init.py”,第 306 行 光标 = self.make_debug_cursor(self._cursor()) _cursor 中的文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第 387 行 self.connection = Database.connect(**kwargs) Connect 中的文件“build/bdist.macosx-10.9-intel/egg/MySQLdb/init.py”,第 81 行 init 中的文件“build/bdist.macosx-10.9-intel/egg/MySQLdb/connections.py”,第 193 行 _mysql_exceptions.OperationalError: (1049, "Unknown database 'prototipodb'")
如果您能帮我解决这个问题,我将不胜感激。我一直在考虑做的一件事是运行syncbd
命令来重建连接,但如果有更好的解决方案,我很乐意考虑。
【问题讨论】:
您是否将'NAME': 'prototipodb',
更改为正确的数据库名称,因为它看起来不像您所做的那样。
【参考方案1】:
我刚刚在我的 mac 上做了这个,它工作正常。我复制了数据库并在settings.py
中更改了名称。然后我让我的用户访问新数据库。`
您是否授予用户 palapa
访问新数据库的权限?
你刷新权限了吗?
您是否重新启动了 Django 服务器?
【讨论】:
我正在重命名 MAMP 仪表板上的数据库。现在我复制了它,它工作得很好!谢谢!!!!以上是关于如何更改在 MAMP 上运行的 Django 项目数据库名称?的主要内容,如果未能解决你的问题,请参考以下文章