不要怂,就是干,撸起袖子干!

Commit 99acca94 by Jan Aagaard Meier

remove any existing DB file in transaction setup for sqlite

1 parent 26aef71d
......@@ -1129,7 +1129,6 @@ describe(Support.getTestDialectTeaser("HasMany"), function() {
this.User.hasMany(this.Task, { through: this.UserTask });
this.Task.hasMany(this.User, { through: this.UserTask });
this.sequelize = sequelize;
return sequelize.sync({ force: true });
}).then(function() {
......
......@@ -906,7 +906,7 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
it('supports nested transactions using savepoints', function(done) {
var self = this
var User = this.sequelize.define('Users', { username: DataTypes.STRING })
var User = this.sequelizeWithTransaction.define('Users', { username: DataTypes.STRING })
User.sync({ force: true }).success(function() {
self.sequelizeWithTransaction.transaction().then(function(t1) {
......@@ -994,7 +994,7 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
it('supports rolling back a nested transaction', function(done) {
var self = this
var User = this.sequelize.define('Users', { username: DataTypes.STRING })
var User = this.sequelizeWithTransaction.define('Users', { username: DataTypes.STRING })
User.sync({ force: true }).success(function() {
self.sequelizeWithTransaction.transaction().then(function(t1) {
......@@ -1019,7 +1019,7 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
it('supports rolling back outermost transaction', function(done) {
var self = this
var User = this.sequelize.define('Users', { username: DataTypes.STRING })
var User = this.sequelizeWithTransaction.define('Users', { username: DataTypes.STRING })
User.sync({ force: true }).success(function() {
self.sequelizeWithTransaction.transaction().then(function(t1) {
......
......@@ -38,14 +38,25 @@ var Support = {
var dialect = Support.getTestDialect();
if (dialect === 'sqlite') {
var options = Sequelize.Utils._.extend({}, sequelize.options, { storage: path.join(__dirname, 'tmp', 'db.sqlite') })
, _sequelize = new Sequelize(sequelize.config.database, null, null, options);
if (callback) {
_sequelize.sync({ force: true }).success(function() { callback(_sequelize); });
} else {
return _sequelize.sync({ force: true }).return(_sequelize);
}
var p = path.join(__dirname, 'tmp', 'db.sqlite');
return new Sequelize.Promise(function (resolve, reject) {
// We cannot promisify exists, since exists does not follow node callback convention - first argument is a boolean, not an error / null
if (fs.existsSync(p)) {
resolve(Sequelize.Promise.promisify(fs.unlink)(p));
} else {
resolve();
}
}).then(function () {
var options = Sequelize.Utils._.extend({}, sequelize.options, { storage: p })
, _sequelize = new Sequelize(sequelize.config.database, null, null, options);
if (callback) {
_sequelize.sync({ force: true }).success(function() { callback(_sequelize); });
} else {
return _sequelize.sync({ force: true }).return(_sequelize);
}
});
} else {
if (callback) {
callback(sequelize);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!