簡體   English   中英

為什么復合主鍵中的列順序對Doctrine至關重要?

[英]Why does the column order in a composite primary key matter to Doctrine?

我試圖在數據庫優先實現上使用Doctrine 2.3.2建立一個項目。 生成xml和映射之后,然后調用orm:validate-schema,它向我顯示映射正確,但是數據庫驗證失敗。 在使用架構工具找出問題所在時,我發現有2個問題反復出現:

  1. 將我所有尚未在255的varchar更改為varchar(255)
  2. 刪除例如帶有列(A,B,C)的主鍵,然后使用相同的列以不同的順序(B,A,C)創建一個新的主鍵

這兩件事似乎都無濟於事。 為什么教義會強迫我以似乎毫無意義的方式更改自己的模式?

這兩種解決方案都無需更改數據庫架構即可:

  1. 轉換映射似乎未將length屬性添加到id字段-將其添加到xml
  2. 這似乎是由於表中各列的順序與主鍵中各列的順序之間的差異引起的。 重新排列xml條目的順序以匹配主鍵的順序。

我假設必須達到2#1是一個錯誤-我將盡快報告。 但是,#2是不是在bug之上,還是以某種方式改變了秩序而違反了Doctrine的邏輯?

我對這個問題的思考越深,我越相信它是一種疏忽,而不是故意的。 我當時以為是我缺少的東西,但我認為這些是圖書館的問題,因此將它們添加到了教義的JIRA中。

編輯:每個請求的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM