2016-10-07 2 views
0

Я пытаюсь использовать gorm как ORM для приложения, но gorm.Open, кажется, никогда не возвращается, что заставляет мое приложение зависать. Единственное различие между моим тестовым примером и всеми примерами, которые я видел в Интернете, - это мой тестовый пример, связанный с ящиком AWS, тогда как все остальные подключаются к локальным экземплярам Postgres. Это имеет значение?Gorm зависает на gorm.Open, нет ошибки, но нет ответа

Код, который у меня есть:

func initDB() { 
    var err error 
    db, err := gorm.Open("postgres", "host=something.rds.amazonaws.com user=awsuser dbname=db sslmode=disable password=awspassword") 
    if err != nil { 
     panic(err) 
    } 
    log.Printf("Connected") 
    defer db.Close() 
} 

Я попытался переключения sslmode, я попытался с помощью строки Postgres соединения (вытянут прямо из клиента Postgres так действует), я попытался переключиться на sql.Open. Я не знаю, что еще нужно попробовать. FWIW Я вижу, что ни один из моих запросов не попадает в AWS.

+0

Не работает в проблемах с брандмауэром? Я мог видеть, что это повредит. – tier1

+0

Я подключаюсь к этой базе данных AWS, используя PG Admin, а также SQL-Tabs все время, используя идентичную строку соединения. – thisisnotabus

ответ

0

Проблема не была в блоке кода, который я опубликовал выше, но в функции main, которая вызывает initDB. Вызов initDB был после http.ListenAndServe, который блокирует навсегда.

Смежные вопросы