3
respostas

Não foi possível executar o comando dotnet ef database update

Olá. Boa tarde. Estou enfrentando algumas dificuldades para seguir com o treinamento. Dessa vez, ao tentar executar o comando dotnet ef database update, o console apresentou este problema: Não foi possível executar porque o comando ou o arquivo especificado não foi encontrado. Possíveis motivos para isso incluem: Você digitou incorretamente um comando de dotnet interno. Você pretendia executar um programa .NET, mas dotnet-ef não existe. Você pretendia executar uma ferramenta global, mas não foi possível encontrar um executável com prefixo de dotnet com esse nome no CAMINHO. Estou no diretório de Dados. poderiam me ajudar, por favor?

PS: Após buscar mais informações, descobri que é preciso instalar a ferramente Entity. Usei este comando dotnet tool install --global dotnet-ef Entranto, ao rodar de novo o comando dotnet ef database update, recebi o output abaixo: Teve um failed ali, como não conheço nada de DB, não sei se ocorreu tudo bem. Obrigado

Build started... Build succeeded. Failed executing DbCommand (2ms) [Parameters=[], CommandType='Text', CommandTimeout='30'] SELECT MigrationId, ProductVersion FROM __EFMigrationsHistory ORDER BY MigrationId; MySqlConnector.MySqlException (0x80004005): Unknown column 'MigrationId' in 'field list' at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in //src/MySqlConnector/Core/ResultSet.cs:line 50 at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in //src/MySqlConnector/MySqlDataReader.cs:line 135 at MySqlConnector.MySqlDataReader.CreateAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 444 at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(IReadOnlyList1 commands, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in //src/MySqlConnector/Core/CommandExecutor.cs:line 60 at MySqlConnector.MySqlCommand.ExecuteReaderAsync(CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in //src/MySqlConnector/MySqlCommand.cs:line 319 at MySqlConnector.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior) in //src/MySqlConnector/MySqlCommand.cs:line 261 at System.Data.Common.DbCommand.ExecuteReader() at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject) at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrations() at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String connectionString, String contextType) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String connectionString, String contextType) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass00.<.ctor>b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) Unknown column 'MigrationId' in 'field list'

3 respostas

Raphael, estava tendo o primeiro problema que citou e com o comando "dotnet tool install --global dotnet-ef" foi resolvido, primeiramente agradeço. Em seguida, executei o comando "dotnet ef database update" e funcionou certinho na pasta ".\Alura.ByteBank.Dados". Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obs: Uma coisa que me certifiquei foi em executar o script "sql.SQL" na pasta Migrations, para criação inicial das tabelas.

Opa Dennie, obrigado pelo retorno. Como ninguém nunca me respondeu aqui, acabou que tive que resolver sozinho e saí no mesmo lugar que vc. Era pra eu ter vindo aqui e terminado a resolução do problema, mas como ninguém me respondeu aqui e já tem mais de 2 semanas, nem voltei aqui pra complementar. Fico feliz em ter ajudado você, ainda que parcialmente. Este curso deixou muito a desejar em vários aspectos: suporte aos alunos como este, conteúdo do curso, etc. Enfim... Bons estudos meu amigo. Qualquer coisa, só me chamar, se eu puder ajudar, ficarei feliz em fazê-lo.

Show!!! Digo o mesmo meu caro!!! Vamos em frente