2013-12-15 54 views
0

我試圖讓我的應用程序連接到本地MySQL數據庫。我輸入必要的程序包中定義了功能的文件來初始化連接無法在Google App Engine中使用MySQL Go驅動程序

import (
    "database/sql" 
    _ "github.com/go-sql-driver/mysql" 
) 

github.com/go-sql-driver/mysql僅在項目導入一次,我相信,這意味着它的init只調用一次。但是,每當我開始我的應用程序goapp serve我不斷收到

Register called twice for driver mysql

我不知道是什麼導致了這一點。我知道違規線路在哪裏,但我不知道如何調用Register()方法兩次。我懷疑是因爲goapp當有變化時刷新你的應用程序,它會一次又一次地調用init()導致Register()被調用兩次。

以前有人見過這種行爲嗎?

+0

當使用* dev_appserver.py *時它工作嗎? – nvcnvn

+0

我只是試了一下並運行了'dev_appserver.py .'命令,我仍然得到相同的錯誤。 – denniss

+0

我想現在是__「github.com/go-sql-driver/mysql」。當我刪除它時,錯誤消失,但我知道我需要那個在那裏。 – denniss

回答

0

您的代碼可能會導入兩個不同的mysql包。你確定你不是從其他地方拉入一些包嗎?

+0

我想我可以99.99%確定我不會在別處調用它兩次。我有一個叫做store.go的場,它的包叫做store。該文件的唯一職責是初始化數據庫連接。 – denniss

+0

供參考,這裏是另一個用戶如何修復它:https://github.com/go-sql-driver/mysql/issues/256#issuecomment-48559630 –

+0

似乎沒有修復那裏? – davidkomer

相關問題