Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update items fail on remapped column #506

Closed
hkbenchan opened this issue May 21, 2014 · 2 comments
Closed

Update items fail on remapped column #506

hkbenchan opened this issue May 21, 2014 · 2 comments

Comments

@hkbenchan
Copy link

Node version: 0.10.25
orm version: 2.1.13
mysql version: 2.3.0

Reproduce of the bug:

Create a model that has a key with mapsTo enable, e.g.

var Model = db.define('model', {
    name: String,
    remapKey: { type: "text", mapsTo: "remap_key" }
});;

Later, when save an item that is gotten from Model.get(),

modelObject.remapKey = "another value";
modelObject.save(function (err) {
    if (err) throw err;
    cb();
}

it will throw an error on mysql level, error message as follow

ER_BAD_FIELD_ERROR: Unknown column 'remapKey' in 'field list'

First quick investigation suggests bugs on function savePersisted() on Instance.js with line 246, which

data[opts.changes[i]]

will return an undefined value

Could you please help on fixing this?

@dxg dxg closed this as completed in 1cd44d8 May 22, 2014
@dxg
Copy link
Collaborator

dxg commented May 22, 2014

It seems the implementation of mapsTo was very broken (missing in most cases).
I've fixed it & written better tests. Please try v2.1.14.

@hkbenchan
Copy link
Author

Thanks, the problem also happens on any instance returned by find()

The one on get() is fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants