英文:
Open sqlite db file from a project's subfolder
问题
我有这样的文件夹结构:
├── gorm.sqlite // 这个可以工作
├── main.go
├── simulator
│ ├── data
│ │ ├── gorm.sqlite // 这个无法工作
│ │ └── profiles.go
│ ├── driver
│ │ ├── apis.go
│ │ ├── client.go
│ │ ├── routing-events.go
│ │ └── websocket.go
│ └── router.go
在我的 simulator/router.go
文件中:
func SetupConfig() {
config := &driver.Config{}
if db, err := gorm.Open(sqlite.Open("gorm.sqlite"), &gorm.Config{}); err != nil {
panic(err)
} else {
config.Db = db
}
// etc
}
虽然 sqlite.Open("gorm.sqlite")
可以工作并访问项目主文件夹中的文件,但 sqlite.Open("/simulator/data/gorm.sqlite")
无法工作!它会抛出 unable to open database file: no such file or directory
的错误。我该如何访问子文件夹中的数据库文件?
英文:
I have this folder structure:
├── gorm.sqlite // this works
├── main.go
├── simulator
│   ├── data
│   │   ├── gorm.sqlite //this does not work
│   │   └── profiles.go
│   ├── driver
│   │   ├── apis.go
│   │   ├── client.go
│   │   ├── routing-events.go
│   │   └── websocket.go
│   └── router.go
In my simulator/router.go
:
func SetupConfig() {
config := &driver.Config{}
if db, err := gorm.Open(sqlite.Open("gorm.sqlite"), &gorm.Config{}); err != nil {
panic(err)
} else {
config.Db = db
}
//etc
}
While sqlite.Open("gorm.sqlite")
works and access the file in the project main folder, sqlite.Open("/simulator/data/gorm.sqlite")
does not work! it panics unable to open database file: no such file or directory
.
How can I access a db file in a sub folder.
答案1
得分: 2
尝试这种方式:
db, err := gorm.Open(sqlite.Open("./simulator/data/gorm.sqlite"), &gorm.Config{})
英文:
Try this way
db, err := gorm.Open(sqlite.Open("./simulator/data/gorm.sqlite"), &gorm.Config{})
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论