기존에 있는 Django 테이블에 컬럼을 추가하는 작업을 진행하였습니다. 이 후 DB Migration 을 해도 반영이 안되어서 제목과 같은 오류를 출력합니다. 이러한 경우에는 수동으로 해당 테이블에 컬럼을 추가하면 해결 되었습니다.

우선 Django 에서 DB 에 직접 접속하는 방법은 다음과 같습니다.

$ python manage.py dbshell   
Welcome to the MariaDB monitor.  Commands end with;
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

MariaDB [dbname]>

Linux 에서 Mysql 접속하여 테이블과 명령어 등을 자동완성해 주는 Mycli 를 활용하여 접속하는 방법은 다음과 같습니다.

$ sudo mycli -u USERNAME -h localhost DBNAME
[sudo] password for USERNAME: 
Connecting to socket /var/run/mysqld/mysqld.sock, owned by user mysql
Password:

추가한 컬럼명과 속성은 다음과 같습니다.

class Table(models.Model):
    ...
    column_name = models.CharField(max_length=150)

MySQL 에 접속한 뒤, 수동으로 컬럼 내용을 추가하는 명령어는 다음과 같습니다.

MariaDB USERNAME@localhost:DBNAME> ALTER TABLE app_table ADD COLUMN colum_name VARCHAR(150);
You're about to run a destructive command.
Do you want to proceed? (y/n): y

위 내용과같이 작업을 하고나면 나머지는 정상적으로 동작하는 것을 확인 할 수 있습니다.


참고사이트