Skip to content

Commit 7e5b4c2

Browse files
committed
fix: make site's parentDbName field work now
1 parent ec9d7a6 commit 7e5b4c2

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

controllers/site.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ func (c *ApiController) UpdateSite() {
126126

127127
if success && site.Name == "site-built-in" {
128128
object.SyncSiteToConf(&site)
129+
object.RefreshProviderAdapter()
129130
InitAuthConfig()
130131
proxy.InitHttpClient()
131132
}

object/adapter.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,34 @@ func InitAdapter() {
151151
}
152152
}
153153

154+
// RefreshProviderAdapter re-initializes providerAdapter based on the current
155+
// parentDbName config (which may now come from the saved built-in site settings).
156+
// It is safe to call at runtime after SyncSiteToConf updates the conf overrides.
157+
func RefreshProviderAdapter() {
158+
parentDbName := conf.GetConfigString("parentDbName")
159+
160+
if adapter != nil && adapter.DbName == parentDbName {
161+
parentDbName = ""
162+
}
163+
164+
if parentDbName == "" {
165+
if providerAdapter != nil {
166+
providerAdapter.close()
167+
providerAdapter = nil
168+
}
169+
return
170+
}
171+
172+
if providerAdapter != nil && providerAdapter.DbName == parentDbName {
173+
return
174+
}
175+
176+
if providerAdapter != nil {
177+
providerAdapter.close()
178+
}
179+
providerAdapter = NewAdapterWithDbName(adapter.driverName, adapter.dataSourceName, parentDbName)
180+
}
181+
154182
func CreateTables() {
155183
if createDatabase {
156184
err := adapter.CreateDatabase()

0 commit comments

Comments
 (0)