2014-01-08 83 views
1

我正在使用獨立的PHAR包使用Doctrine Migrations。 的CLI似乎無法對MySQL保留關鍵字:關於保留關鍵字的原則遷移失敗

./doctrine-migrations migrations:status 

[PDOException]                                                 
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL  syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LINES' at line 1 

這裏我的數據庫包含了一個名爲LINES表,它是一個保留關鍵字。

有沒有辦法解決這個問題?

+0

你爲什麼不改變表名? – raygo

+0

@raygo我寧願讓Doctrine Migrations能夠以正確的方式處理保留關鍵字,而不是重構令人興奮的代碼以反映表名的變化... – rixmit

回答

2

如果你要使用保留字,把它們放在引號:

/** @Column(name="`number`", type="integer") */ 
private $number; 

我建議你不要使用保留字,如果你沒有,但!

+0

Doctrine Migrations CLI似乎列出了db中的表,它是它可能出錯。我無法控制這個功能,也就是說我不能放置引號,因爲它不是我執行的代碼。 – rixmit