package migration import ( "database/sql" "log" ) type PostResult struct { WordpressId int SlowtwitchId int OldUrl string OldUrlStatus int NewUrl string IsSuccess bool ErrorMessage string } func GetAllPostResults(db *sql.DB) []PostResult { var results []PostResult rows, err := db.Query("select WordpressId, SlowtwitchId, OldUrl, OldUrlStatus, NewUrl, (IsSuccess = b'1'), ErrorMessage from PostResults") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { result := PostResult{} err = rows.Scan(&result.WordpressId, &result.SlowtwitchId, &result.OldUrl, &result.OldUrlStatus, &result.NewUrl, &result.IsSuccess, &result.ErrorMessage) if err != nil { log.Fatal(err) } results = append(results, result) } return results } func CreatePostResult(parameters PostResult, db *sql.DB) (int, error) { result, err := db.Exec("insert into PostResults (WordpressId, SlowtwitchId, OldUrl, OldUrlStatus, NewUrl, IsSuccess, ErrorMessage) values (?, ?, ?, ?, ?, ?, ?)", parameters.WordpressId, parameters.SlowtwitchId, parameters.OldUrl, parameters.OldUrlStatus, parameters.NewUrl, parameters.IsSuccess, parameters.ErrorMessage) if err != nil { return 0, err } else { id, err := result.LastInsertId() if err != nil { return 0, err } return int(id), nil } } func GetWordpressPostIdBySlowtwitchPostId(slowtwitchPostId int, db *sql.DB) (int, error) { var wordpressId int post := db.QueryRow("select WordpressId from PostResults where SlowtwitchId = (?)", slowtwitchPostId) err := post.Scan(&wordpressId) return wordpressId, err }