sequelize.sync({ force: true }) 有时不工作
sequelize.sync({ force: true }) is not working some times
我正在使用 gulp 任务来迁移数据库。出于测试目的,我使用不同的数据库。所以我需要完全相同的数据库。我正在尝试使用 sequelize.sync({ force: true }) 但它不起作用。
我的所有模型都在门户模型中。这是代码:
const models = require('portal-models');
gulp.task('migrate', ['create-database'], (done) => {
models.sequelize.query('SET FOREIGN_KEY_CHECKS = 0')
.then(() => models.sequelize.sync({ force: true, alter: true }))
....
....
....
)
With Force: true 它应该可以工作,但对我来说我收到错误,如 mydatbaseName.tablename 不存在。
我已经创建了新的测试数据库。我不想在 testdatabase 中手动创建所有内容,所以我正在使用迁移,但我 gusse sync 无法正常工作。
谁能告诉我,我到底应该遵循什么?
提前致谢。
终于找到错误了。
models.sequelize.sync({ force: true })
它工作正常,但我无法在命令提示符下看到任何日志,所以我认为同步工作不正常。我已经添加了
models.sequelize.sync({ force: true, logging: console.log }))
有了这个,我能够看到日志,它正在删除所有表并再次创建。问题不在于 sequelize.sync() 。问题出在我的数据库名称上,它仅指开发数据库,而我在 testDatabase 上执行查询。
在 运行 测试之前,我只是像这样更改了我的数据库
export MYSQL_DATABASENAME = test_database_name
。
问题已解决。
我正在使用 gulp 任务来迁移数据库。出于测试目的,我使用不同的数据库。所以我需要完全相同的数据库。我正在尝试使用 sequelize.sync({ force: true }) 但它不起作用。
我的所有模型都在门户模型中。这是代码:
const models = require('portal-models');
gulp.task('migrate', ['create-database'], (done) => {
models.sequelize.query('SET FOREIGN_KEY_CHECKS = 0')
.then(() => models.sequelize.sync({ force: true, alter: true }))
....
....
....
)
With Force: true 它应该可以工作,但对我来说我收到错误,如 mydatbaseName.tablename 不存在。
我已经创建了新的测试数据库。我不想在 testdatabase 中手动创建所有内容,所以我正在使用迁移,但我 gusse sync 无法正常工作。
谁能告诉我,我到底应该遵循什么?
提前致谢。
终于找到错误了。
models.sequelize.sync({ force: true })
它工作正常,但我无法在命令提示符下看到任何日志,所以我认为同步工作不正常。我已经添加了
models.sequelize.sync({ force: true, logging: console.log }))
有了这个,我能够看到日志,它正在删除所有表并再次创建。问题不在于 sequelize.sync() 。问题出在我的数据库名称上,它仅指开发数据库,而我在 testDatabase 上执行查询。
在 运行 测试之前,我只是像这样更改了我的数据库
export MYSQL_DATABASENAME = test_database_name
。
问题已解决。