javascript – 在我的Node.js应用程序中使用Knex.js删除迁移

前端之家收集整理的这篇文章主要介绍了javascript – 在我的Node.js应用程序中使用Knex.js删除迁移前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图让knex在我的node.js应用程序中工作.我正在关注一个教程,并在某个时候创建​​了一个表但无法重复该过程.我删除了表并删除了所有迁移文件夹.在这一点上,我重新开始,但在创建新的迁移然后运行knex migrate:latest后,我收到一条错误消息,说迁移目录已损坏,因为我原来的迁移丢失了.

我的印象是,如果文件遗失,它应该不知道它曾经存在过.

从项目中删除迁移的正确方法是什么?

knexfile.js

 development: {
    client: 'pg',connection: {
    host: '127.0.0.1',user:     'postgres',password: 'password',database: 'myDatabase'
    },pool: {
      min: 10,max: 20
    },migrations: {
      directory: __dirname + '/db/migrations'
    },seeds: {
      directory: __dirname + '/db/seeds/development'
    }

db.js

var config      = require('../knexfile.js');  
var env         = 'development';  
var knex        = require('knex')(config[env]);

module.exports = knex;
console.log('Getting knex');
knex.migrate.latest([config]); 
console.log('Applying migration...');

运行此错误,

knex migrate:latest

Using environment: development
Error: The migration directory is corrupt,the following files are missing: 20161110130954_auth_level.js

但是这个迁移不存在,因为我删除了它.

最佳答案
您必须在删除文件之前回滚迁移(knex迁移:回滚),我想您可以做的是:

触摸[full_path_to_migrations_here] /migrations/20161110130954_auth_level.js

knex migrate:rollback

rm [full_path_to_migrations_here] /migrations/20161110130954_auth_level.js

参考这里
https://github.com/tgriesser/knex/issues/1569

猜你在找的JavaScript相关文章