• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

마이그레이션 완료 후 Update DB 에서 에러가 납니다 ㅠ

22.09.19 23:50 작성 조회수 553

0

Update-Database -Context CodeFirstDbContext -Project NetCore.Services 시 에러가납니다..

Microsoft.Data.SqlClient.SqlException (0x80131904): 키워드 'NOT' 근처의 구문이 잘못되었습니다.

at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

at Microsoft.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean isAsync, Int32 timeout, Boolean asyncWrite)

at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String methodName)

at Microsoft.Data.SqlClient.SqlCommand.ExecuteNonQuery()

at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)

at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)

at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection)

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__DisplayClass0_0.<.ctor>b__0()

at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)

ClientConnectionId:deea0517-e378-495a-93e4-a40213d1218f

Error Number:156,State:1,Class:15

키워드 'NOT' 근처의 구문이 잘못되었습니다.

원인 찾으려고 강의를 되돌려서 다시 코딩해도 똑같이뜨네요..

답변 2

·

답변을 작성해보세요.

0

NetCore.Data에서 User클래스의 UserID, UserName, UserEMail 멤버변수에 Column Attribute 지정시 TypeName을 각각 "nvarchar(100)", "nvarchar(320)", "nvarchar(130)"으로 지정해 주어야 합니다.

닫는 괄호가 빠져 있기 때문에 AddingUserTables 마이그레이션 클래스에서도 괄호가 빠진 상태로 컬럼들이 세팅되었고 그대로 DB에 업데이트 하는 과정에서 에러가 난 것입니다.

이해하셨나요? 답변이 마음에 드셨다면 긍정적인 수강평 하나 부탁드립니다. 감사합니다.

정철준님의 프로필

정철준

질문자

2022.09.22

아... 감사합니다!

 

0

정철준님, 반갑습니다. 열강하시는 군요.

질문주신 마이그레이션 관련 에러는 워낙 다양해서 제게 주신 정보로는 해결에 어려움이 있네요.

혹시 Github을 하나 생성하고 작업하신 프로젝트를 올리신 후 저에게 주소를 알려주시면 제가 실행해서 동일한 에러를 확인한 후에 정답에 가까운 해결책을 드릴 수 있을 것 같습니다.

Github 작업URL 알려주세요. 감사합니다.