2
respostas

Erro ao executar migration : "docker-compose run web python manage.py makemigrations"

Prezados,

Ao tenatr executar o migrations: docker-compose run web python manage.py makemigrations

recebo a stack de erro abaixo:

Starting devops-master_db_1 ... 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: (2003, 'Can't connect to MySQL server on 'db' (111 "Connection refused")')

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: (2003, 'Can't connect to MySQL server on 'db' (111 "Connection refused")')

2 respostas

Estou com o mesmo erro

O contaner web nao ta acessando o BD.

O arquivo env contem a porta que o container devops-master_web_1 vai acessar o devops-master_db_1. Essa porta ta setada como 3309, mas deveria ser 3306.

Basta trocar o DB_PORT = "3309" por DB_PORT = "3306" no arquivo env e dar um docker-compose up --build que resolve.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software