2017-06-08 38 views
0

我是初學者Django python。當我遇到這python manage.py migrate我收到以下錯誤。無法遷移和如何使用Django設置mysql數據庫python

Unknown command: 'migrate' 
Type 'manage.py help' for usage. 

在這裏我也想創建與MYSQL數據庫中的一個CRUD應用程序,它是存在內部本地主機意味着我需要連接到我的本地數據庫。我還需要知道如何將它與所有連接settings.py文件中證書。我的settings.py文件如下。

settings.py

""" 
Django settings for mysite project. 

For more information on this file, see 
https://docs.djangoproject.com/en/1.6/topics/settings/ 

For the full list of settings and their values, see 
https://docs.djangoproject.com/en/1.6/ref/settings/ 
""" 

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 


# Quick-start development settings - unsuitable for production 
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ 

# SECURITY WARNING: keep the secret key used in production secret! 
SECRET_KEY = '#=0(1b4%2y!3(hs%_4v&_*(-j#c#8__s6^=1+b0eqrar7810h+' 

# SECURITY WARNING: don't run with debug turned on in production! 
DEBUG = True 

TEMPLATE_DEBUG = True 

ALLOWED_HOSTS = [] 


# Application definition 

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
) 

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

ROOT_URLCONF = 'mysite.urls' 

WSGI_APPLICATION = 'mysite.wsgi.application' 


# Database 
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
    } 
} 

# Internationalization 
# https://docs.djangoproject.com/en/1.6/topics/i18n/ 

LANGUAGE_CODE = 'en-us' 

TIME_ZONE = 'UTC' 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 


# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.6/howto/static-files/ 

STATIC_URL = '/static/' 

請幫我解決上述問題,並連接到數據庫。

+1

根據您的settings.py你有下載的Django 1.6,而這項功能是由Django的1.7起評。 – e4c5

+0

也許'syncdb'可以幫助... –

+0

此外,settings.py與Unknown命令無關:請參閱manage.py – Rahul

回答

1

migrate在Django 1.7及更高版本中找到的命令。你應該使用syncdb它可以做的是根據你的模型爲你創建一個數據庫表和行。

如果您想了解更多的遷移喜歡最新的Django Django上1.6請考慮使用south

+0

我明白,但如何使用這些內部代碼文件,因爲我總是新的嘗試學習這些語言。 – subhra

+0

您不必在代碼庫中進行主要的代碼更改。安裝說明可以在這裏找到https://south.readthedocs.io/en/latest/installation.html –

+0

而這一點很重要https://south.readthedocs.io/en/latest/installation.html#configuring-your -django-installation –

0

默認數據庫:sqlite3的

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
    } 
} 

更改到MySQL:

'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'django', 
     'USER' : 'username', 
     'PASSWORD' : 'password', 
     'HOST' : 'your ip', 
     'PORT' : 'port', 
    } 

Django的新版本。我要做3步遷移答案

python manage.py makemigrations <app_name> 
python manage.py sqlmigrate svace <version of data> 
python manage.py migrate 

0

首先,如果您有數據要遷移執行此命令:

python manage.py dumpdata > datadump.json 

下一步:變化數據庫配置到MySql:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'your-db-name', 
     'USER': 'your-username', 
     'PASSWORD': 'your-password', 
     'HOST': 'localhost', 
     'PORT': '', 
    }, 
} 

然後執行:

python manage.py makemigrations 
python manage.py migrate 

要恢復的數據類型:

python manage.py loaddata datadump.json