schema

package
v8.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package schema provides utilities for managing PostgreSQL schemas in a multi-tenant application.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CurrentSearchPath

func CurrentSearchPath(tx *gorm.DB) string

CurrentSearchPath returns the current search path for the given database connection.

func SetSearchPath

func SetSearchPath(tx *gorm.DB, schemaName string) (reset func() error, err error)

SetSearchPath sets the search path for the given database connection to the specified schema name. It returns a function that can be used to reset the search path to the default value. This function does not perform any validation on the schemaName parameter. It is the responsibility of the caller to ensure that the schemaName has been sanitized to avoid SQL injection vulnerabilities.

Technically safe for concurrent use by multiple goroutines, but should not be used concurrently ito ensuring data integrity and schema isolation. Use a separate database connection or transaction for each goroutine that requires a different search path.

Example:

reset, err := postgres.SetSearchPath(db, "domain1")
if err != nil {
	// handle the error
}
defer reset() // reset the search path to 'public'
// ... do operations with the database with the search path set to 'domain1'

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL