1

したがって、ノードにsequelize.jsを使用してデータベースを作成し、次のコードを作成しました。

var sequelize = new Sequelize('database', 'sheta', 'mysqlroot', {
    host: 'localhost',
    port: 3000,
   timestamps: false
});

var User = sequelize.define('User', {
    userID: Sequelize.INTEGER,
    userName: Sequelize.TEXT,
    password: Sequelize.TEXT
}, {
    instanceMethods: {
        getUserId: function() {
            return this.userID;
        }
    }
});

var Post = sequelize.define('Post', {
    userID: Sequelize.INTEGER,
    postText: Sequelize.TEXT,
    date: Sequelize.DATE,
    postID: Sequelize.INTEGER
}, {
    instanceMethods: {
        getPost: function() {
            return this.postText;
        }  
    }
});

var Comment = sequelize.define('Comment', {
    postID: Sequelize.INTEGER,
    commentText: Sequelize.TEXT,
    date: Sequelize.DATE,
    commentID: Sequelize.INTEGER 
} , {
    instanceMethods: {
        getComment: function() {
            return this.commentText;
        }
    }
});

var Tag = sequelize.define('Tag', {
    tagID: Sequelize.INTEGER,
    tagText: Sequelize.TEXT,
    postID: Sequelize.INTEGER
});

//Associations
Post.belongsTo(User);
Post.hasOne(User);
User.hasMany(Post);
Post.hasMany(Comment);
Comment.belongsTo(User);
Comment.hasOne(User);
User.hasMany(Comment);
Post.hasMany(Tag);
Tag.hasMany(Post);

sequelize.sync();

しかし、次を使用してタプルを追加しようとすると:

User.create({ userID: 1, userName: 'sam', password: 'th'}).success(function(task) {
    console.log("inserted");
    // you can now access the newly created task via the variable task
});

「挿入された」は印刷されません。私は何か間違ったことをしていますか?私は主にsequelize jsのコードを見ました。私がここに欠けているものはありますか?

4

1 に答える 1

3

あなたの問題が何であるかについてのいくつかの提案。

あなたは、sequelize を使用してデータベースを作成したと言いました - データベースを作成済みである必要があります。

.erroror.done関数をsequelize.syncand呼び出しに添付してUser.create、表示されるエラーを投稿してください。

于 2013-03-12T12:25:09.223 に答える