coresmart / persistencejs

persistence.js is an asynchronous Javascript database mapper library. You can use it in the browser, as well on the server (and you can share data models between them).
http://persistencejs.org
1.73k stars 240 forks source link

PrimaryKey auto-increment concept is not working in persistencejs #186

Open bairaginath opened 8 years ago

bairaginath commented 8 years ago

var persistence = require('persistencejs'); var persistenceStore = persistence.StoreConfig.init(persistence, { adaptor: 'mysql' }); persistenceStore.config(persistence, 'localhost', 3306, 'nodedb', 'root', 'root');

var session = persistenceStore.getSession();

var User = persistence.define('user', { email: "TEXT", password : "TEXT", first_name : "TEXT", last_name : "TEXT" });

var user = new User({email:'world@gmail.com',password : 'world',first_name : "world",last_name:'world'});

session.add(user); session.transaction(function(tx) { session.flush(tx,function(result){

    console.log(result.insertId);
});

});

session.close();

it alway create random primary key and also some time duplicate key problem occurs. below the following sql create query :

CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT, email varchar(45) NOT NULL, password varchar(45) NOT NULL, first_name varchar(45) DEFAULT NULL, last_name varchar(45) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;