Documentation ¶
Index ¶
- Constants
- Variables
- func CreateDBConect(cnx StCadConect, pass string) ([]byte, error)
- func CreateDbFile(cnx StCadConect, pass, dir, name string) error
- func FindTp(v interface{}, tp TpCore) interface{}
- type DataTable
- func (p *DataTable) AddIndex(col string) error
- func (p *DataTable) AddIndexs(cols ...string) error
- func (p *DataTable) AddRow(row StData)
- func (p *DataTable) AddRows(rows ...StData)
- func (p *DataTable) GenDeletes() ([]StQuery, error)
- func (p *DataTable) GenInserts() ([]StQuery, error)
- func (p *DataTable) GenSQL(accion string) ([]StQuery, error)
- func (p *DataTable) GenUpdates() ([]StQuery, error)
- func (p *DataTable) GetCols() ([]string, error)
- func (p *DataTable) GetIndex() []string
- func (p *DataTable) GetRow(row int) (StData, error)
- func (p *DataTable) GetRows() []StData
- func (p *DataTable) GetTable() string
- func (p *DataTable) LenIndex() int
- func (p *DataTable) LenRows() int
- func (p *DataTable) SetTable(table string)
- func (p *DataTable) ValidRow() bool
- type StCadConect
- type StConect
- func (p *StConect) Close() error
- func (p *StConect) Con() error
- func (p *StConect) ConfigDBX(path, pass string) error
- func (p *StConect) ConfigENV() error
- func (p *StConect) ConfigINI(PathINI string) error
- func (p *StConect) ConfigJSON(PathJSON string) error
- func (p *StConect) ConfigURL(url string)
- func (p *StConect) Exec(Data []StQuery, indConect bool) error
- func (p *StConect) ExecBackup() error
- func (p *StConect) ExecDatatable(data DataTable, acc string, indConect bool) error
- func (p *StConect) ExecNative(sql string, indConect bool, args ...interface{}) (sql.Result, error)
- func (p *StConect) ExecOne(Data StQuery, indConect bool) error
- func (p *StConect) ExecValid(Data []StQuery, tipacc string) error
- func (p *StConect) Insert(Data []StQuery) error
- func (p *StConect) NamedIn(query StQuery) (string, []interface{}, error)
- func (p *StConect) Query(query StQuery, cantrow int, indConect bool) ([]StData, error)
- func (p *StConect) QueryJSON(query StQuery, cantrow int, indConect, indLimit bool) ([]byte, error)
- func (p *StConect) QueryMap(query StQuery, cantrow int, indConect, indLimit bool) ([]StData, error)
- func (p *StConect) QueryNative(sql string, indConect bool, args ...interface{}) (*sql.Rows, error)
- func (p *StConect) QueryOne(query StQuery, indConect bool) (StData, error)
- func (p *StConect) QueryRows(query StQuery, indConect bool) (*sqlx.Rows, error)
- func (p *StConect) QueryStruct(datadest interface{}, query StQuery, indConect bool) error
- func (p *StConect) ResetCnx()
- func (p *StConect) SendSQL(code string, args map[string]interface{}) StQuery
- func (p *StConect) SetBackupScript(sql string)
- func (p *StConect) Test() bool
- func (p *StConect) UpdateOrDelete(Data []StQuery) (int64, error)
- func (p *StConect) ValidTable(table string) bool
- type StData
- func (p *StData) Filter(keys ...string) StData
- func (p *StData) KeyColum() []string
- func (p *StData) ToBool(columna string) bool
- func (p *StData) ToDate(columna string) (time.Time, error)
- func (p *StData) ToFloat(columna string) (float32, error)
- func (p *StData) ToFloat64(columna string) (float64, error)
- func (p *StData) ToInt(columna string) (int, error)
- func (p *StData) ToInt32(columna string) int32
- func (p *StData) ToInt64(columna string) (int64, error)
- func (p *StData) ToJSON() ([]byte, error)
- func (p *StData) ToString(columna string) (string, error)
- func (p *StData) UpperKey() StData
- func (p *StData) ValidColum(col string) bool
- type StExt
- type StMerge
- type StQuery
- type StSQLData
- type TpCore
Constants ¶
const ( /*INTP : tipo core entero*/ INTP TpCore = "integer" /*STTP : tipo core texto*/ STTP TpCore = "string" /*FLTP : tipo core numerico*/ FLTP TpCore = "number" /*BLTP : tipo core condicional*/ BLTP TpCore = "bool" /*DTTP : tipo core date*/ DTTP TpCore = "date" /*JSONTP : tipo core json*/ JSONTP TpCore = "json" /*SQLLite : conexion tipo sqllite https://github.com/mattn/go-sqlite3 */ SQLLite = "SQLLITE" /*Ora : conexion tipo oracle https://gopkg.in/rana/ora.v4 */ Ora = "ORA" /*Post : conexion tipo postgres https://github.com/lib/pq */ Post = "POST" /*Mysql : conexion tipo mysql https://github.com/go-sql-driver/mysql */ Mysql = "MYSQL" /*Sqlser : conexion tipo sql server https://github.com/denisenkom/go-mssqldb */ Sqlser = "SQLSER" /*INSERT : prefijo de insert */ INSERT = "INSERT" /*UPDATE : prefijo de UPDATE */ UPDATE = "UPDATE" /*DELETE : prefijo de DELETE */ DELETE = "DELETE" /*SELECT : prefijo de select*/ SELECT = "SELECT" /*FROM : prefijo de tablas */ FROM = "FROM" )
Variables ¶
var ( /*TESTTABLE : quieries para probar si una tabla existe en la base de datos*/ TESTTABLE = map[string]string{ Ora: ` SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END REG FROM ALL_TABLES WHERE TABLE_NAME = :TABLENAME `, Post: ` SELECT CASE WHEN EXISTS ( SELECT FROM PG_TABLES WHERE TABLENAME = :TABLENAME ) THEN 1 ELSE 0 END REG `, Mysql: ` SELECT CASE WHEN EXISTS( SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = :TABLENAME ) > 0 THEN 1 ELSE 0 END REG `, Sqlser: ` SELECT CASE WHEN EXISTS( SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = :TABLENAME ) THEN 1 ELSE 0 END REG `, SQLLite: ` SELECT CASE WHEN EXISTS( SELECT * FROM SQLITE_MASTER WHERE TYPE = 'TABLE' AND NAME = :TABLENAME ) THEN 1 ELSE 0 END REG `, } /*CADCONN : contiene el formato de las cadenas de conexion*/ CADCONN = map[string]string{ Ora: "%s/%s@%s:%d/%s", Post: "postgres://%s:%s@%s:%d/%s?sslmode=%s", Mysql: "%s:%s@tcp(%s:%d)/%s", Sqlser: "server=%s;user id=%s;password=%s;port=%d;database=%s;", SQLLite: "%s", } /*PrefijosDB : contiene los string de conexion al momento de ejecutar la funcion open*/ PrefijosDB = map[string]string{ Ora: "ora", Post: "postgres", Mysql: "mysql", Sqlser: "mssql", SQLLite: "sqlite3", } /*FORMATTOSTRCONECT : formato to string para la conexion de base de datos*/ FORMATTOSTRCONECT = "[%s|%s|%s|%d|%s|%s|%s|%s]" /*Ssmodes : hace referencia si tienen conexion ssl 0* disable - No SSL 1* require - Always SSL (skip verification) 2* verify-ca - Always SSL (verify that the certificate presented by the server was signed by a trusted CA) 3* verify-full - Always SSL (verify that the certification presented by the server was signed by a trusted CA and the server host name matches the one in the certificate) */ Ssmodes = []string{"disable", "require", "verify-ca", "verify-full"} )
Functions ¶
func CreateDBConect ¶ added in v1.7.8
func CreateDBConect(cnx StCadConect, pass string) ([]byte, error)
CreateDBConect : Crea una conexion de base de datos valida y la genera como un .db con una clave aes
func CreateDbFile ¶ added in v1.7.8
func CreateDbFile(cnx StCadConect, pass, dir, name string) error
CreateDbFile : crea un archivo de configuracion valida para base de datos encriptado
Types ¶
type DataTable ¶
type DataTable struct {
// contains filtered or unexported fields
}
DataTable : maneja un crud completo y genera script automaticos
func NewDataTable ¶ added in v1.7.8
NewDataTable : Crea un datable correctamente
func (*DataTable) GenDeletes ¶
GenDeletes : genera los delete masivos para modificaciones de base de datos
func (*DataTable) GenInserts ¶
GenInserts : genera insert masivos para modificaciones de base de datos
func (*DataTable) GenSQL ¶
GenSQL : genera acciones de base de datos mediante los siguientes comando INSERT,UPDATE,DELETE
func (*DataTable) GenUpdates ¶
GenUpdates : genera los update masivos para modificaciones de base de datos de ante mano tener que colocar indices
func (*DataTable) LenIndex ¶
LenIndex : Obtienen la cantidad de llaves primarias para update o delete
type StCadConect ¶
type StCadConect struct { File string `json:"filedb" ini:"filedb"` Usuario string `json:"usuario" ini:"usuario"` Clave string `json:"clave" ini:"clave"` Nombre string `json:"nombre" ini:"nombre"` Tipo string `json:"tipo" ini:"tipo"` Host string `json:"host" ini:"host"` Puerto int `json:"puerto" ini:"puerto"` Sslmode string `json:"sslmode" ini:"sslmode"` }
StCadConect : Estructura para generar la cadena de conexiones de base de datos
func DecripConect ¶ added in v1.7.8
func DecripConect(data []byte, pass string) (StCadConect, error)
DecripConect : desencripta una conexion de base de datos .ini con una encriptacion AES256 creada del mismo paquete utility
func (*StCadConect) ToString ¶
func (p *StCadConect) ToString() string
ToString : Muestra la estructura StCadConect
func (*StCadConect) Trim ¶
func (p *StCadConect) Trim()
Trim : Elimina los espacio en cualquier campo string
func (*StCadConect) ValidCad ¶
func (p *StCadConect) ValidCad() bool
ValidCad : valida la cadena de conexion capturada
type StConect ¶
type StConect struct { Conexion StCadConect DBGO *sqlx.DB DBTx *sql.Tx DBStmt *sql.Stmt Queries map[string]string // contains filtered or unexported fields }
StConect : Estructura que contiene la conexion a x tipo de base de datos.
func (*StConect) ConfigDBX ¶ added in v1.7.8
ConfigDBX : Lee las configuraciones de conexion mediante un archivo encriptado .dbx este se debe enviar la clave
func (*StConect) ConfigENV ¶
ConfigENV : lee las configuracion de la base de datos mediante variables de entorno Ejemplo: ENV USUARIO = prueba ENV CLAVE = prueba ENV NOMBRE = prueba ENV TIPO = POST ENV PUERTO = 5433 ENV HOST = Localhost ENV SSLMODE = opcional ENV FILEDB = opcional sqllite
func (*StConect) ConfigINI ¶
ConfigINI : Lee las configuraciones de conexion mediante un .ini
Ejemplo:
usuario = prueba
clave = prueba
nombre = prueba
tipo = POST
puerto = 5433
host = Localhost
sslmode = opcional
filedb = opcional sqllite
func (*StConect) ConfigJSON ¶
ConfigJSON : Lee las configuraciones de conexion mediante un .json
Ejemplo:
{
"usuario":"prueba", "clave":"prueba", "nombre":"prueba", "tipo":"POST", "host":"Localhost", "puerto":3000, "sslmode":"", "filedb":""
}
func (*StConect) ExecBackup ¶
ExecBackup : ejecuta el querie backup
func (*StConect) ExecDatatable ¶
ExecDatatable : ejecuta a nivel de base de datos una accione datable esta puede ser INSERT,DELETE,UPDATE
func (*StConect) ExecNative ¶ added in v1.7.8
ExecNative : ejecuta la funcion nativa del paquete sql
func (*StConect) ExecOne ¶ added in v1.7.8
ExecOne :Ejecuta un StQuery navito haciendo rollback con un error
func (*StConect) ExecValid ¶
ExecValid :Ejecuta una accion de base de datos nativa con rollback y validacion de insert e delete o que tipo de accion es
func (*StConect) Insert ¶
Insert : Inserta a cualquier tabla donde esta conectado devuelve true si fue guardado o false si no guardo nada.
func (*StConect) Query ¶
Query : Ejecuta un querie en la base de datos y
devuelve un map dinamico para mostrar los datos donde le limitan la cantida de registro que debe de devolver indConect = true deja la conexion abierta Ejemplo: map[COD_CLI:50364481 NIS_RAD:5355046 SEC_NIS:1]
func (*StConect) QueryJSON ¶
QueryJSON : Ejecuta un querie en la base de datos y
devuelve un json dinamico para mostrar los datos donde le limitan la cantida de registro que debe de devolver indConect = true deja la conexion abierta indLimit = true limite de fila si esta en false desactiva esta opcion
func (*StConect) QueryMap ¶
QueryMap : Ejecuta un querie en la base de datos y
devuelve un map dinamico para mostrar los datos donde le limitan la cantida de registro que debe de devolver indConect = true deja la conexion abierta indLimit = true limite de fila si esta en false desactiva esta opcion
func (*StConect) QueryNative ¶ added in v1.7.8
QueryNative : ejecuta la funcion nativa del paquete sql
func (*StConect) QueryOne ¶ added in v1.7.8
QueryOne : Ejecuta un querie en la base de datos y devuelve un map dinamico pero solo envia una fila y no un arreglo
func (*StConect) QueryRows ¶
QueryRows : Ejecuta un query en la base de datos y
devuelve un puntero de *Rows de sqlx indConect = true deja la conexion abierta
func (*StConect) QueryStruct ¶
QueryStruct : Ejecuta un query en la base de datos y
captura la data con struct EjecutarQueryStruct(&data,sql,true) indConect = true deja la conexion abierta
func (*StConect) SetBackupScript ¶
SetBackupScript : setea un scrip backup para la creacion de base de datos en modelos go
func (*StConect) UpdateOrDelete ¶
UpdateOrDelete : actualiza e elimina a cualquier tabla donde esta conectado devuelve la cantidad de filas afectadas.
func (*StConect) ValidTable ¶
ValidTable : valida si la tabla a buscar existe
type StData ¶
type StData map[string]interface{}
StData : Estructura que extrae los datos de una consulta de base de datos tramformandola en map
func (*StData) ToFloat64 ¶ added in v1.7.8
ToFloat64 : Convierte el valor del map interface{} a float.
func (*StData) ToJSON ¶
ToJSON : Convierte la estructura StData en JSON para envios externos a rest api.
func (*StData) ValidColum ¶
ValidColum : valida si un campo existe
type StMerge ¶ added in v1.7.8
type StMerge struct { CnxIn StConect CnxOut StConect ItemsExt []StExt InDelIn bool InDelOut bool DelsqlIn []StQuery DelsqlOut []StQuery //AccMerge : procesa la accion para hacer el merge de la base de datos AccMerge func(CnxIn, CnxOut StConect) error }
StMerge : estructura para crear merge para servicio
func (*StMerge) LoadDataIn ¶ added in v1.7.8
LoadDataIn : carga los datos de la base de datos de entrada
type StSQLData ¶
type StSQLData struct {
Data []byte `db:"data"`
}
StSQLData : Estructura para manipulacion de columnas JSON esto funciona para capturar una sola respuesta a nivel de solucion
ejemplo select getdata() as data --> donde data deve ser un json o []byte