Итак, у меня есть работающий проект, который использует базу данных MySQL с локальным сервером MAMP, но для проблем соответствия мне нужно изменить имя базы данных. Так что я изменил его в MAMP, и я изменил его в settings.py, как показано ниже:Как я могу изменить имя базы данных проекта Django, запущенную на MAMP?
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.
}
}
Я думал, что с этими изменениями все будет продолжать работать гладко, но я получил следующее сообщение об ошибке на моем сервере:
Unhandled exception in thread started by > Traceback (most recent call last): File "/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 91, in inner_run self.validate(display_num_errors=True) File "/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/base.py", line 266, in validate num_errors = get_validation_errors(s, app) File "/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/core/management/validation.py", line 103, in get_validation_errors connection.validation.validate_field(e, opts, f) File "/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/validation.py", line 14, in validate_field db_version = self.connection.get_server_version() File "/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 415, in get_server_version self.cursor().close() File "/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/init.py", line 306, in cursor cursor = self.make_debug_cursor(self._cursor()) File "/Users/palapa2/projects/prototipo_tesis/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 387, in _cursor self.connection = Database.connect(**kwargs) File "build/bdist.macosx-10.9-intel/egg/MySQLdb/init.py", line 81, in Connect File "build/bdist.macosx-10.9-intel/egg/MySQLdb/connections.py", line 193, in init _mysql_exceptions.OperationalError: (1049, "Unknown database 'prototipodb'")
Буду признателен, если вы можете помочь мне с этой проблемой. Одна из вещей, о которых я думал, - это выполнить команду syncbd
, чтобы перестроить соединение, но если есть лучшее решение, я бы с удовольствием это рассмотрел.
Вы изменили '' NAME ':' prototipodb ', 'на правильное имя базы данных, так как оно не выглядело так, как вы. –