Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func insertAnime() error {
- tx, err := db.Beginx()
- if err != nil {
- return err
- }
- if err := execAndHandle(tx, "INSERT INTO entry (name, image, description) VALUES ('testName', 'testImage', 'testDescription');");err != nil{
- return err
- }
- if err := execAndHandle(tx, "SELECT @entry_id := LAST_INSERT_ID();");err != nil{
- return err
- }
- if err := execAndHandle(tx, "INSERT INTO series (entry_id) VALUES (@entry_id);");err != nil{
- return err
- }
- if err := execAndHandle(tx, "INSERT INTO anime (series_id, mal_reference) VALUES (LAST_INSERT_ID(), 'testMalReference');");err != nil{
- return err
- }
- if err := execAndHandle(tx, "INSERT INTO episode (entry_id) VALUES (@entry_id);");err != nil{
- return err
- }
- if err := execAndHandle(tx, "SELECT @episode_id := LAST_INSERT_ID();");err != nil{
- return err
- }
- if err := execAndHandle(tx, "INSERT INTO subtitle (episode_id, language, status, subtitle_path) VALUES (@episode_id, 'testLanguage', 'testStatus', 'testSubtitlePath');");err != nil{
- return err
- }
- if err := execAndHandle(tx, "INSERT INTO video (episode_id, video_path) VALUES (@episode_id, 'testVideoPath');");err != nil{
- return err
- }
- err = tx.Commit()
- if err != nil {
- return err
- }
- return nil
- }
- func execAndHandle(tx *sqlx.Tx, query string) error {
- if _, err := tx.Exec(query); err != nil {
- if err := tx.Rollback(); err != nil {
- return err
- }
- return err
- }
- return nil
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement