Я разместил все в app.go, и база данных открывается правильно, но индекс не может получить доступ к глобальной переменной. Глобальная переменная, кажется, не быть глобальным, потому что если я удалю использование Db после назначения его в InitDB я получаю ошибку «Db объявлена и не используется»using mysql db for revel without gorm
package controllers
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/revel/revel"
)
var Db *sql.DB
type App struct {
*revel.Controller
}
func (c App) Index() revel.Result {
if c.Params.Get("id") == "3012" {
return c.Redirect("http://youtube.com")
}
fmt.Println("here is the db from index:", Db)
return c.Render()
}
func InitDB() {
// open db
Db, err := sql.Open("mysql", "username:[email protected](xxxxxxx:3306)/xxxx")
if err != nil {
revel.INFO.Println("DB Error", err)
}
revel.INFO.Println("DB Connected")
//fmt.Println(Db)
}
func init() {
revel.OnAppStart(InitDB)
}
любая помощь будет оценен по достоинству! Благодарю.
Можно использовать непосредственно внутри индекса не так ли? – vinniyo