首页 文章

如何更改在MAMP上运行的Django项目数据库名称?

提问于
浏览
0

所以,我有一个运行项目,它使用带有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.
    }
}

我认为通过这些更改,一切都会顺利运行,但我的服务器上出现以下错误:

线程中未处理的异常由> Traceback(最近一次调用最后一次)启动:文件“/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“,line 266,在validate 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”,line 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”,line 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())文件“/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py”,第387行,在_cursor self中 . connection = Database.connect(** kwargs)文件“build / bdist.macosx-10.9-intel / egg / MySQLdb / init.py”,第81行,在Connect File中“build / bdist.macosx-10.9-intel / egg / MySQLdb / connections.py“,第193行,在init _mysql_exceptions.OperationalError:(1049,”未知数据库'prototipodb'“)

如果你能解决这个问题,我将不胜感激 . 我一直在考虑的事情之一是运行 syncbd 命令来重建连接,但如果有更好的解决方案,我很乐意考虑它 .

1 回答

  • 1

    我只是在我的Mac上做了这个,它工作正常 . 我复制了数据库并更改了 settings.py 中的名称 . 然后我让我的用户访问新的数据库

    您是否授予用户 palapa 访问新数据库的权限?

    你有特权吗?

    你重启Django服务器了吗?

相关问题