I have a column problem in the database when the yak uses python manage.py migrate. I want to write code to use DATABASE_URL in docker-compose.yml, how should I solve it? I've experimented with writing these codes. Can you advise me a bit?
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| DatabaseUBU |
| information_schema |
| mariadb |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.02 sec)
mysql> create database mariadb;
ERROR 1007 (HY000): Can't create database 'mariadb'; database exists
docker-compose.yml
version: '3.7'
services:
db:
image: mariadb:10
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=mariadb
- MYSQL_DATABASE=mariadb
- MYSQL_USER=mariadb
- MYSQL_PASSWORD=mariadb
- MARIADB_ROOT_PASSWORD=mysecretpassword
ports:
- 3306:3306
volumes:
- "mysqldata:/var/lib/mysql"
web:
build: .
restart: always
command: python manage.py runserver 0.0.0.0:8000
environment:
- DATABASE_URL=mariadb+mariadbconnector://user:mariadb@db:3306/mariadb
ports:
- "8000:8000"
depends_on:
- db
volumes:
mysqldata:
setting.py
import dj_database_url
import os
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
**dj_database_url.config(default=os.environ.get('DATABASE_URL'))
}
}