2
我正在爲Sequelize的第1步努力工作。我已經通讀了這篇教程,並且我一定會錯過一些基本的東西,因爲我已經花了一天時間來試圖弄清楚我做錯了什麼。使用Sequelize保存對象
以下是我用摩卡書寫的單元測試。
var db = require("../../db.js").sequelize;
var DataTypes = require("sequelize");
var _table = db.define('users', {
name: DataTypes.STRING,
email: DataTypes.STRING
}, {
timestamps: false
});
var assert = require("assert")
describe('Users', function(){
describe('#save()', function(){
it('should save a user', function(){
_table
.build({name: 'test', email: '[email protected]'})
.save()
.success(function(o){
console.log("saved");
console.log(o.values);
}).error(function(error) {
console.log("++++++++++");
console.log(error);
});
})
})
})
它運行良好,我現在已經刪除了斷言。問題是,我沒有看到任何一個控制檯日誌,不成功不是錯誤。另外,數據庫中沒有行。
的db.js僅僅是一個實用程序文件,有助於創造Sequelize JS的實例與DB配置 - 我已經做了console.dir並通過實例看,它看起來如下:
{ options:
{ dialect: 'mysql',
host: 'localhost',
port: 3306,
protocol: 'tcp',
define: {},
query: {},
sync: {},
logging: [Function],
omitNull: false,
queue: true,
native: false,
replication: false,
pool: { maxConnections: 10, minConnections: 0, maxIdleTime: 1000 } },
config:
{ database: 'beacon',
username: 'beacon',
password: 'beacon',
host: 'localhost',
port: 3306,
pool: { maxConnections: 10, minConnections: 0, maxIdleTime: 1000 },
protocol: 'tcp',
queue: true,
native: false,
replication: false,
maxConcurrentQueries: undefined },
daoFactoryManager: { daos: [ [Object], [Object] ], sequelize: [Circular] },
connectorManager:
{ sequelize: [Circular],
client: null,
config:
{ database: 'beacon',
username: 'beacon',
password: 'beacon',
host: 'localhost',
port: 3306,
pool: [Object],
protocol: 'tcp',
queue: true,
native: false,
replication: false,
maxConcurrentQueries: undefined },
disconnectTimeoutId: null,
queue: [],
activeQueue: [ [Object] ],
maxConcurrentQueries: 50,
poolCfg: { maxConnections: 10, minConnections: 0, maxIdleTime: 1000 },
pendingQueries: 0,
useReplicaton: false,
useQueue: true,
pool:
{ destroy: [Function],
acquire: [Function],
borrow: [Function],
release: [Function],
returnToPool: [Function],
drain: [Function],
destroyAllNow: [Function],
getPoolSize: [Function],
getName: [Function],
availableObjectsCount: [Function],
waitingClientsCount: [Function] },
isConnecting: false },
importCache: {},
queryInterface:
{ sequelize: [Circular],
QueryGenerator:
{ createTableQuery: [Function],
dropTableQuery: [Function],
renameTableQuery: [Function],
showTablesQuery: [Function],
addColumnQuery: [Function],
removeColumnQuery: [Function],
changeColumnQuery: [Function],
renameColumnQuery: [Function],
selectQuery: [Function],
insertQuery: [Function],
updateQuery: [Function],
deleteQuery: [Function],
incrementQuery: [Function],
addIndexQuery: [Function],
showIndexQuery: [Function],
removeIndexQuery: [Function],
getWhereConditions: [Function],
hashToWhereConditions: [Function],
attributesToSQL: [Function],
findAutoIncrementField: [Function],
addQuotes: [Function],
removeQuotes: [Function],
options: [Object] } } }
現在我得到了屏幕上記錄的INSERT語句,但實例從未將其寫入數據庫。我究竟做錯了什麼?