[bugfix] Remove hardcoded "public" db schema assumption (#4269)

This pull request closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4257 by removing the hardcoded "public" schema assumption in the database migrations. Tested on a local postgres with both the default public schema, and with the connection string (gotosocial schema) mentioned in the issue. Both seem to work OK!

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4269
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
tobi 2025-06-13 16:05:00 +02:00 committed by tobi
commit 726584287a
5 changed files with 44 additions and 43 deletions

View file

@ -48,79 +48,79 @@ func init() {
{
old: "new_accounts_pkey",
new: "accounts_pkey",
table: "public.accounts",
table: "accounts",
columns: []string{"id"},
},
{
old: "new_accounts_uri_key",
new: "accounts_uri_key",
table: "public.accounts",
table: "accounts",
columns: []string{"uri"},
},
{
old: "new_accounts_url_key",
new: "accounts_url_key",
table: "public.accounts",
table: "accounts",
columns: []string{"url"},
},
{
old: "new_accounts_inbox_uri_key",
new: "accounts_inbox_uri_key",
table: "public.accounts",
table: "accounts",
columns: []string{"inbox_uri"},
},
{
old: "new_accounts_outbox_uri_key",
new: "accounts_outbox_uri_key",
table: "public.accounts",
table: "accounts",
columns: []string{"outbox_uri"},
},
{
old: "new_accounts_following_uri_key",
new: "accounts_following_uri_key",
table: "public.accounts",
table: "accounts",
columns: []string{"following_uri"},
},
{
old: "new_accounts_followers_uri_key",
new: "accounts_followers_uri_key",
table: "public.accounts",
table: "accounts",
columns: []string{"followers_uri"},
},
{
old: "new_accounts_featured_collection_uri_key",
new: "accounts_featured_collection_uri_key",
table: "public.accounts",
table: "accounts",
columns: []string{"featured_collection_uri"},
},
{
old: "new_accounts_public_key_uri_key",
new: "accounts_public_key_uri_key",
table: "public.accounts",
table: "accounts",
columns: []string{"public_key_uri"},
},
{
old: "new_emojis_pkey1",
new: "emojis_pkey",
table: "public.emojis",
table: "emojis",
columns: []string{"id"},
},
{
old: "new_emojis_uri_key1",
new: "emojis_uri_key",
table: "public.emojis",
table: "emojis",
columns: []string{"uri"},
},
{
old: "new_status_faves_pkey",
new: "status_faves_pkey",
table: "public.status_faves",
table: "status_faves",
columns: []string{"id"},
},
{
old: "new_status_faves_uri_key",
new: "status_faves_uri_key",
table: "public.status_faves",
table: "status_faves",
columns: []string{"uri"},
},
} {

View file

@ -86,8 +86,8 @@ func init() {
// query from running.
if db.Dialect().Name() == dialect.PG {
for _, table := range []string{
"public.header_filter_allows",
"public.header_filter_blocks",
"header_filter_allows",
"header_filter_blocks",
} {
// Just swallow any errors
// here, we're not bothered.

View file

@ -107,7 +107,7 @@ func init() {
if _, err := tx.ExecContext(
ctx,
"ALTER TABLE ? RENAME CONSTRAINT ? TO ?",
bun.Ident("public.filters"),
bun.Ident("filters"),
bun.Safe("new_filters_pkey"),
bun.Safe("filters_pkey"),
); err != nil {

View file

@ -379,7 +379,7 @@ func init() {
if _, err := tx.ExecContext(
ctx,
"ALTER TABLE ? DROP CONSTRAINT IF EXISTS ?",
bun.Ident("public.accounts"),
bun.Ident("accounts"),
bun.Safe(spec.old),
); err != nil {
return err
@ -388,7 +388,7 @@ func init() {
if _, err := tx.ExecContext(
ctx,
"ALTER TABLE ? ADD CONSTRAINT ? UNIQUE(?)",
bun.Ident("public.accounts"),
bun.Ident("accounts"),
bun.Safe(spec.new),
bun.Safe(strings.Join(spec.columns, ",")),
); err != nil {

View file

@ -76,6 +76,7 @@ func testDefaults() config.Configuration {
DbDatabase: envStr("GTS_DB_DATABASE", ""),
DbTLSMode: envStr("GTS_DB_TLS_MODE", ""),
DbTLSCACert: envStr("GTS_DB_TLS_CA_CERT", ""),
DbPostgresConnectionString: envStr("GTS_DB_POSTGRES_CONNECTION_STRING", ""),
DbMaxOpenConnsMultiplier: 8,
DbSqliteJournalMode: "WAL",
DbSqliteSynchronous: "NORMAL",