Documentation
¶
Overview ¶
Package schema provides utilities for managing MySQL databases in a multi-tenant application.
The term schema is used interchangeably with database in MySQL for the purposes of this package.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UseDatabase ¶
UseDatabase sets the database for the given connection to the specified database name. It returns a function that can be used to reset the database to the default value. This function does not perform any validation on the dbName parameter. It is the responsibility of the caller to ensure that the dbName 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 database.
Example:
reset, err := schema.UseDatabase(db, "domain1") if err != nil { // handle the error } defer reset() // reset the database to 'public' // ... do operations with the database with the database set to 'domain1'
Types ¶
This section is empty.