Skip to content
This repository has been archived by the owner on Jun 19, 2019. It is now read-only.

Add db.InsertStruct(Table, *interface{}) support #22

Open
steelbrain opened this issue Feb 11, 2017 · 2 comments
Open

Add db.InsertStruct(Table, *interface{}) support #22

steelbrain opened this issue Feb 11, 2017 · 2 comments
Labels

Comments

@steelbrain
Copy link

steelbrain commented Feb 11, 2017

This package is extremely helpful when you want to simplify sql usage in your app without requiring the fullness of xorm so thank you for writing it.

One thing that would make this library a lot more useful is a new func on core.DB, It should allow users to specify the table and provide the struct and automatically generate the required sql for it.

For example

user = User{
    Name:"lunny",
    Title:"test",
    Age: 18,
}
result, err = db.ExecStruct("insert into user (`name`, title, age, alias, nick_name,created) values (?Name,?Title,?Age,?Alias,?NickName,?Created)",
            &user)

would become

user = User{
    Name:"lunny",
    Title:"test",
    Age: 18,
}
result, err = db.InsertStruct("user", &user)

What do you think?

@lunny
Copy link
Member

lunny commented Feb 11, 2017

It has been implemented by XORM I think. And this feature will consider name mapping and different database quotes. So this needs many works I think.

@steelbrain
Copy link
Author

@lunny You are correct, a similar solution is available in xorm. The solution present in xorm requires the user to create an engine and go through all that trouble, there are usecases when you just want to execute some raw sql while still having a cleaner way to perform inserts.

But if the request is out of the scope of this package, please do let me know

@lunny lunny added the feature label Jan 17, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants