source

데이터베이스를 작성하기 위해 dotnet EF 마이그레이션을 사용할 때 문자 집합을 설정하는 방법은 무엇입니까?

factcode 2022. 9. 4. 14:27
반응형

데이터베이스를 작성하기 위해 dotnet EF 마이그레이션을 사용할 때 문자 집합을 설정하는 방법은 무엇입니까?

문자 집합=utf8mb4를 사용하도록 연결 문자열을 설정했습니다.

  "ConnectionStrings": {
    "MyDatabase": "User Id=root;Host=127.0.0.1;Port=3306;Database=my_database;Character Set=utf8mb4;Password=password;"
  }

나는 달렸다dotnet ef migrations add InitialCreate데이터베이스 작성과 함께 초기 마이그레이션을 생성하지만 실행 시동을 걸 수 있습니다.dotnet ef database update데이터베이스가 작성됩니다.latin1문자 집합

DSN/connection 문자열에 지정된 문자 집합은 클라이언트 문자 집합을 지정합니다. 이 문자 집합은 서버 간에 데이터를 주고받을 때 변환에 사용됩니다.

서버의 기본 문자 집합을 변경하려면 다음 옵션을 사용합니다.

  • 데이터베이스(또는 테이블) 작성 시 문자 집합 지정: CREATE SCHEMA myschema DEFAULT CHARSET= utf8또는CREATE TABLE mytable (a varchar(100)) CHARSET=utf8

  • 현재 세션의 서버 문자 세트 변경:SET session character_set_server=utf8

  • 엔트리를 추가(또는 변경)하여 서버 구성 변경character-set-server=utf8서버 컨피규레이션파일에 격납합니다.

SET global character_set_server=utf8는 동작합니다만, 서버를 재기동하면, 이전(디폴트)의 값으로 설정됩니다.

문자 집합을 지정하지 않고 새 테이블을 작성할 경우 데이터베이스/스키마에서 기본 문자 집합이 사용됩니다.

언급URL : https://stackoverflow.com/questions/58539489/how-to-set-charset-when-using-dotnet-ef-migrations-to-create-a-database

반응형