[Django]-Django manage.py Unknown command: 'syncdb'

197👍

syncdb command is deprecated in django 1.7. Use the python manage.py migrate instead.

14👍

You have to use python manage.py migrate instead rather than python manage.py syncdb

13👍

Run python manage.py makemigrations result below

Migrations for 'blog':
blog/migrations/0001_initial.py:
- Create model Blog

and after that run python manage.py migrate result below

Operations to perform:
Apply all migrations: admin, blog, auth, contenttypes, sessions
Running migrations:
Applying article.0001_initial... OK

6👍

the actual command is :

python manage.py migrate --run-syncdb

It will solve many errors in django like , Operational error ,No Table found in databse etc.

0👍

You can do it like this in stages, let’s say you have an app called “example”:

  1. Run python manage.py makemigrations example
  2. A number generates like ‘0001’ get the number
  3. Run python manage.py sqlmigrate example 0001, using the number. Check out the scripts.
  4. Run python manage.py migrate example 0001

You can also look at all your migrations like this: python manage.py showmigrations.
If you don’t want to commit it, go to the folder and move it somewhere or delete it before doing step 4.

0👍

However, there is another error that can be happened as strict mode needs to be enabled for MariaDB.

Keep Database connection in the settings.py file as follows:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'test',
    'USER': 'root',
    'PASSWORD': '',
    'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
    'PORT': '3306',
    'OPTIONS': {
        'sql_mode': 'traditional',
    }
}

}

keep in mind about the below code:

'OPTIONS': {
        'sql_mode': 'traditional',
    }

After all, if your DJango version is backdated, "python manage.py syncdb" will work but for an updated version more than or equal to 1.7, please use "python manage.py migrate"

Thanks

Leave a comment