Hello all, After seeing a need for simplifying SQL databases in Go, I have written a new package that makes it very easy to do basic SELECT, INSERT, and UPDATE database operations. Essentially you define a struct that corresponds with the data in your database, and then you can simply pass that struct to my package to insert and retrieve data. I'm now using it in one of my projects, and it has reduced database-related code by 60%, making things much more readable!
Here's how easy it is to retrieve some info, make some changes, and return it to the database: type SumoWreslter struct { Name string `db:"name"` Age int `db:"age"` Rank string `db:"level"` } func main() { db, err := sqlez.Open("databaseDriver", "dataSource") tooOld := 30 results, err := db.SelectFrom("wrestlers", SumoWreslter{}, sqlez.Params{ Where: `age < ? AND level = "master"`, OrderBy: `age DESC`, Limit: 1, }, tooOld) theOne := results[0].(SumoWreslter) theOne.Rank = "grand master" // Manipulate data further _, err := db.Update("wrestlers", theOne, sqlez.Params{ Where: `name = ?`, }, theOne.Name) } // Done! I think it's a very handy tool, especially for getting started quickly. It can handle embedded structs, it can store and retrieve Go datatypes like structs and maps using JSON, and uses sql.NullString under the hood to avoid errors when trying to pull TEXT columns that are NILL. I would love any feedback or suggestions, both on the code and the documentation I've written (which is geared more for people who are new-ish to Go). Thanks! James -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.