Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

erro ao executar docker-compose run web python manage.py makemigrations

Conforme descrito na atividade, configurando docker-compose, segui os passos e está com erro abaixo:

docker-compose run web python manage.py makemigrations Creating curso-gitlab-ci_web_run ... done System check identified some issues:

WARNINGS: core.Todo.created_at: (fields.W161) Fixed default value provided. HINT: It seems you set a fixed date / time / datetime value as default for this field. This may not be what you want. If you want to have the current date as default, use django.utils.timezone.now Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 227, in get_new_connection return Database.connect(*conn_params) File "/usr/local/lib/python3.6/site-packages/MySQLdb/init.py", line 84, in Connect return Connection(args, *kwargs) File "/usr/local/lib/python3.6/site-packages/MySQLdb/connections.py", line 164, in init super(Connection, self).init(args, **kwargs2) MySQLdb._exceptions.OperationalError: (2002, 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")')

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "manage.py", line 15, in execute_from_command_line(sys.argv) File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 381, in execute_from_command_line utility.execute() File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv self.execute(args, **cmd_options) File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute output = self.handle(args, options) File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped res = handle_func(args, *kwargs) File "/usr/local/lib/python3.6/site-packages/django/core/management/commands/makemigrations.py", line 103, in handle loader.check_consistent_history(connection) File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 281, in check_consistent_history applied = recorder.applied_migrations() File "/usr/local/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 61, in applied_migrations if self.has_table(): File "/usr/local/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 44, in has_table return self.Migration.meta.dbtable in self.connection.introspection.table_names(self.connection.cursor()) File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 255, in cursor return self.cursor() File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 232, in _cursor self.ensureconnection() File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/usr/local/lib/python3.6/site-packages/django/db/utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection self.connect() File "/usr/local/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect self.connection = self.get_new_connection(conn_params) File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 227, in get_new_connection return Database.connect(conn_params) File "/usr/local/lib/python3.6/site-packages/MySQLdb/init.py", line 84, in Connect return Connection(args, **kwargs) File "/usr/local/lib/python3.6/site-packages/MySQLdb/connections.py", line 164, in init super(Connection, self).init(args, **kwargs2) django.db.utils.OperationalError: (2002, 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")')

2 respostas

Configuração: [root@lab-jenk curso-gitlab-ci]# ll total 4 -rw-r--r--. 1 root root 401 Jan 7 15:18 docker-compose.yml drwxr-xr-x. 2 root root 18 Jan 7 15:16 env [root@lab-jenk curso-gitlab-ci]# vim docker-compose.yml [root@lab-jenk curso-gitlab-ci]# cat docker-compose.yml version: '3'

services: db: image: mysql:5.7 ports:

  - '3306:3306'
environment:
   MYSQL_DATABASE: 'todo_dev'
   MYSQL_USER: 'devops_dev'
   MYSQL_PASSWORD: 'mestre'
   MYSQL_ROOT_PASSWORD: 'senha'

web: image: aluracursos/django_todolist_image_build volumes:

  - ./env:/usr/src/app/to_do/.env
ports:
  - "8000:8000"
depends_on:
  - db

[root@lab-jenk curso-gitlab-ci]# cat env/.env [config]

SECRET_KEY = 'r*5ltfzw-61ksdm41fuul8+hxs$86yo9%k1%k=(!@=-wv4qtyv'

DEBUG=True

DB_NAME = "todo_dev" DB_USER = "devops_dev" DB_PASSWORD = "mestre" DB_HOST = "db" DB_PORT = "3306"

Apesar de não informar a configuração do env, eu criei o arquivo.

solução!

Configuração do arquivo do docker-compose estava errada. Tinha criado o env como oculto.