2014-01-24 1 views
0

Итак, у меня есть работающий проект, который использует базу данных 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, чтобы перестроить соединение, но если есть лучшее решение, я бы с удовольствием это рассмотрел.

+0

Вы изменили '' NAME ':' prototipodb ', 'на правильное имя базы данных, так как оно не выглядело так, как вы. –

ответ

1

Я просто сделал это на своем mac, и он отлично работает. Я скопировал БД и изменил имя в settings.py. Затем я дал пользователю доступ к новой БД. «

Вы даете пользователю palapa доступ к новой БД?

Вы скрывали привилегии?

Вы перезапустили сервер Django?

+0

Я переименовал базу данных на приборной панели MAMP. Теперь я скопировал его, и все прошло отлично! Благодаря!!!! –

 Смежные вопросы

  • Нет связанных вопросов^_^