Skip to content

Transaction in postgresql is failing. #979

@sumit7577

Description

@sumit7577

whenever i try to do transactions with beego orm in postgres database its failing and saying ...""""[ORM]2025/01/30 23:51:11 last insert id is unavailable 58 LastInsertId is not supported by this driver"""
here is code.

func (um *UserManager) CreateUser() (*User, error) {
o := orm.NewOrm()
err := o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {
hashedPassword, err := hashPassword(um.User.Password)

	if err != nil {
		return err
	}
	username := generateRandomUsername(um.User.Name)
	um.User.Password = hashedPassword
	um.User.Username = username
	_, err = txOrm.Insert(um.User)

	if err != nil {
		return err // This will trigger a rollback
	}
	authToken, nil := generateAuthToken()
	authEntry := &AuthToken{
		Key:     authToken,
		User:    um.User,
		Created: time.Now(),
	}
	_, err = txOrm.Insert(authEntry)

	if err != nil {
		return err
	}
	return nil
})

if err != nil {
	return nil, err
}

return um.User, nil

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions