Skip to content

๐ŸŒ Golang Package to effortlessly simplify Golang CRUD API development for multiple databases

License

Notifications You must be signed in to change notification settings

DeexithParand2k2/CrudifyGO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CrudifyGO

Effortlessly simplify Golang CRUD API development for multiple databases.

MySQL

Table of Contents

Database Methods Implementation

  1. OpenDbConnect : Establish Connection to a database from database connection pool

    • Parameters :
      • Name of Database (string)
    • Return Type :
      • *sql.DB (pointer to sql.DB object)
      • error

    Example

    db,err := OpenDbConnect("databasename")
    if err!=nil{
        c.JSON(http.StatusInternalServerError, gin.H{"Error":err.Error()})
        return
    }


  1. PingYourDb : Check connection to a database

    • Parameters :
      • Name of Database (string)
    • Return Type :
      • connection status
      • error

    Example

    pingstatus,err := PingYourDb("databasename")
    if err!=nil{
        c.JSON(http.StatusInternalServerError, gin.H{"Error":err.Error()})
    }
    c.JSON(http.StatusCreated, gin.H{"Message":pingstatus})


  1. ListDatabases : List all databases on MySQL RDBMS

    • Parameters :
      • Nil
    • Return Type :
      • array of present databases
      • error

    Example

    databases, err := mysqlutil.ListDatabases()
    if err != nil {
        c.JSON(http.StatusInternalServerError, gin.H{"Error": err.Error()})
        return
    }
    
    c.IndentedJSON(http.StatusAccepted, gin.H{
        "Message":   "Received databases",
        "databases": databases,
    })


  1. CreateDb : Create a database in MySQL

    • Parameters :
      • databasename (string)
    • Return Type :
      • error

    Example

    database_name := c.Query("databasename")
    
    err := mysqlutil.CreateDb(database_name)
    if err != nil {
        c.JSON(http.StatusInternalServerError, gin.H{"Error": err.Error()})
        return
    }
    
    c.JSON(http.StatusCreated, gin.H{"Message": fmt.Sprintf("Created database %s successfully", database_name)})


  1. DeleteDb : Delete a database in MySQL

    • Parameters :
      • databasename string
    • Return Type :
      • error

    Example

    database_name := c.Query("databasename")
    
    err := mysqlutil.DeleteDb(database_name)
    if err != nil {
        c.JSON(http.StatusInternalServerError, gin.H{"Error": err.Error()})
        return
    }
    
    c.JSON(http.StatusCreated, gin.H{"Message": fmt.Sprintf("Deleted database %s successfully", database_name)})

Tabular Methods Implementation


  1. ListTablesDb : List tables in a MySQL database

    • Parameters :
      • databasename (string)
    • Return Type :
      • table ([]string)
      • error

    Example

    database_name := c.Query("databasename")
    
    tables, err := mysqlutil.ListTablesDb(database_name)
    if err != nil {
        c.JSON(http.StatusInternalServerError, gin.H{"Error": err.Error()})
        return
    }
    
    c.JSON(http.StatusCreated, gin.H{
        "Message":"Listed Tables Successfully",
        "Tables":tables,
    })

  1. GetTableContent : Get all content from a table in DB

    • Parameters :
      • Name of Database (string)
      • Name of Table (string)
      • Empty structure object to store table data (struct obj)
    • Return Type :
      • error

    Example

PostgreSQL (In-Development)

SQLite (In-Development)

About

๐ŸŒ Golang Package to effortlessly simplify Golang CRUD API development for multiple databases

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages