add table prefix and suffix for multi-tenant environment support

This closes #125.
This commit is contained in:
fourdim 2022-03-16 22:47:34 +08:00
parent c29f0afd2b
commit 87cc6c9e93
9 changed files with 100 additions and 0 deletions

View file

@ -41,6 +41,16 @@ func (a LanguageTable) FromSchema(schemaName string) *LanguageTable {
return newLanguageTable(schemaName, a.TableName(), a.Alias())
}
// WithPrefix creates new LanguageTable with assigned table prefix
func (a LanguageTable) WithPrefix(prefix string) *LanguageTable {
return newLanguageTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
}
// WithSuffix creates new LanguageTable with assigned table suffix
func (a LanguageTable) WithSuffix(suffix string) *LanguageTable {
return newLanguageTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
}
func newLanguageTable(schemaName, tableName, alias string) *LanguageTable {
return &LanguageTable{
languageTable: newLanguageTableImpl(schemaName, tableName, alias),