github.com/gogf/gf/v2@v2.7.4/database/gdb/gdb_schema.go (about)

     1  // Copyright GoFrame Author(https://goframe.org). All Rights Reserved.
     2  //
     3  // This Source Code Form is subject to the terms of the MIT License.
     4  // If a copy of the MIT was not distributed with this file,
     5  // You can obtain one at https://github.com/gogf/gf.
     6  
     7  package gdb
     8  
     9  // Schema is a schema object from which it can then create a Model.
    10  type Schema struct {
    11  	DB
    12  }
    13  
    14  // Schema creates and returns a schema.
    15  func (c *Core) Schema(schema string) *Schema {
    16  	// Do not change the schema of the original db,
    17  	// it here creates a new db and changes its schema.
    18  	db, err := NewByGroup(c.GetGroup())
    19  	if err != nil {
    20  		panic(err)
    21  	}
    22  	core := db.GetCore()
    23  	// Different schema share some same objects.
    24  	core.logger = c.logger
    25  	core.cache = c.cache
    26  	core.schema = schema
    27  	return &Schema{
    28  		DB: db,
    29  	}
    30  }