Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Khung thực thể với MySql và Migrations không thành công vì độ dài khóa tối đa là 767 byte

Câu trả lời được diễn giải từ Thêm ngữ cảnh MigrationHistory tùy chỉnh ...

EF6 sử dụng MigrationHistory bảng để theo dõi các thay đổi của mô hình và để đảm bảo tính nhất quán giữa lược đồ cơ sở dữ liệu và lược đồ khái niệm. Bảng này không hoạt động cho MySQL theo mặc định vì khóa chính quá lớn . Để khắc phục tình trạng này, bạn sẽ cần phải thu nhỏ kích thước khóa cho bảng đó.

Về cơ bản, EF6 cho phép bạn sửa đổi kích thước khóa cho các cột chỉ mục MigrationId / ContextKey bằng cách sử dụng Fluent API như sau:

modelBuilder.Entity<HistoryRow>().Property(h => h.MigrationId).HasMaxLength(100).IsRequired();
modelBuilder.Entity<HistoryRow>().Property(h => h.ContextKey).HasMaxLength(200).IsRequired();

Hoàn thành Hướng dẫn Tại đây ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xóa các hàng trùng lặp khỏi bảng

  2. làm cách nào để sử dụng chuỗi thoát thực mysql?

  3. Xác thực biểu mẫu

  4. Nhập cơ sở dữ liệu MySQL vào MS SQL Server

  5. Câu hỏi phân biệt chữ hoa chữ thường varchar duy nhất trong SQL