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

[Bug] erro no migrate

estou colocando o meu projeto para rodar no CMD com o comando npx sequelize-cli db:migrate, porém ele da o seguinte erro:
Sequelize CLI [Node: 22.15.0, CLI: 6.6.1, ORM: 6.32.1]

ERROR: Cannot find "C:\Projetos\nodejs-express-sequelize\src\config\config.js". Have you run "sequelize init"?

e não estou conseguindo resolver o problema

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
4 respostas

Oi Josué! Como vai?

O erro que você está recebendo indica que o arquivo de configuração config.js não foi encontrado no caminho especificado. Aqui estão algumas etapas que podem ajudar a resolver o problema:

  1. Verifique o Arquivo de Configuração: Certifique-se de que o arquivo config.js ou config.json está presente no diretório correto. O caminho padrão é geralmente src/config/config.js ou config/config.js.

  2. Estrutura do Projeto: Verifique se a estrutura do seu projeto está correta. O arquivo de configuração deve estar na pasta config, que deve estar no mesmo nível que a pasta migrations.

  3. Comando sequelize init: Se você ainda não fez isso, execute npx sequelize-cli init para criar a estrutura padrão de diretórios e arquivos de configuração do Sequelize. Isso deve criar a pasta config e o arquivo de configuração necessário.

  4. Conteúdo do Arquivo de Configuração: O arquivo de configuração deve conter as configurações para conectar ao seu banco de dados. Aqui está um exemplo básico de como ele pode parecer:

    module.exports = {
      development: {
        dialect: 'sqlite',
        storage: './database.sqlite'
      }
    };
    

Depois de verificar essas etapas, tente executar o comando npx sequelize-cli db:migrate novamente. Espero que isso resolva o problema que você está enfrentando.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Oi Armano Barros Alves Junior, tudo bem ? fiz os passos que você me informou anteriormente, mas o problema persiste, estou mandando o que acontece ao rodar os comandos que você informou, vou mandar o códigos de alguns arquivos do meu projeto e vou enviar um print da minha estrutura.
Arquivo: config.json:
{
"development": {
"dialect": "sqlite",
"storage": "./database.sqlite"
},
"test": {
"dialect": "sqlite",
"storage": "src/database/test.sqlite"
},
"production": {
"dialect": "sqlite",
"storage": "src/database/prod.sqlite"
}
}

Arquivo: .sequelizerc:
const path = require('path');

module.exports = {
'config': path.resolve('./src/config', 'config.js'),
'models-path': path.resolve('./src/models'),
'seeders-path': path.resolve('./src/seeders'),
'migrations-path': path.resolve('./src/migrations'),
};

==============================================================================
Quando rodo os comando que você informou gera esses erros no terminal CMD:
npx sequelize-cli init

Sequelize CLI [Node: 22.15.0, CLI: 6.6.1, ORM: 6.32.1]

Created "src\config\config.js"
models folder at "C:\Projetos\nodejs-express-sequelize\src\models" already exists.

ERROR: The file C:\Projetos\nodejs-express-sequelize\src\models\index.js already exists. Run command with --force to overwrite it.

=======================================================================================

npx sequelize-cli db:migrate

Sequelize CLI [Node: 22.15.0, CLI: 6.6.1, ORM: 6.32.1]

ERROR: Error reading "src\config\config.js". Error: SyntaxError: Unexpected token ':'

=====================================================================================
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Oi, Josué!

O erro “Unexpected token ':'” indica que o arquivo config.js está com sintaxe incorreta — provavelmente ele está escrito como JSON, mas o Sequelize espera um módulo JavaScript exportando um objeto com module.exports.

Você mencionou que o arquivo está como config.json, mas o seu .sequelizerc aponta para config.js. Então, o Sequelize tenta interpretar um JSON como JS e dá erro de sintaxe.
Resolva fazendo o seguinte:

  1. Renomeie o arquivo para config.js (ou mantenha o nome e ajuste o .sequelizerc para apontar para config.json — mas é mais simples padronizar com JS).
  2. Substitua o conteúdo de src/config/config.js por este modelo:

module.exports = {
  development: {
    dialect: 'sqlite',
    storage: './database.sqlite'
  },
  test: {
    dialect: 'sqlite',
    storage: 'src/database/test.sqlite'
  },
  production: {
    dialect: 'sqlite',
    storage: 'src/database/prod.sqlite'
  }
};
  1. Depois disso, execute novamente:

npx sequelize-cli db:migrate

Isso deve eliminar o erro de leitura e permitir que as migrações rodem normalmente.

Fico à disposição.

O problema é o seguindo, rodo o comando:
npx sequelize-cli db:migrate e ele execulta normalmente, na formação ela surgere que instale a extesão SQLite para o banco de dados, o passo seguindo é pressionar shift + ctrl + P, abre a aba corretamente, vou na opção: SQLite : Open Database, e ele aparece coreetamente o caminho do arquivo database.sqlite, quando clico conforme ela explica, aparece a mensagem no canto inferior direto do vscode dando o erro que esta no print.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade