【问题标题】:I want to drop only one table when ever sailsjs lift当sailsjs升起时,我只想放下一张桌子
【发布时间】:2019-06-29 04:56:58
【问题描述】:

我只想迁移一个表,以便在升帆时删除该表。怎么可能呢?或者有什么方法可以在升帆后删除表格?

我已经尝试在该特定模型中添加 migrate : 'drop' 但它不起作用。

我目前使用的是sails 1.0版本

【问题讨论】:

    标签: mongodb sails.js


    【解决方案1】:

    我找到了办法。 Sails Bootstrap 这在帆升起之前运行 我把桌子放在这里。

    config/bootstrap.js

    module.exports.bootstrap = async function() {
        await Users.destroy({});
    };
    

    【讨论】:

      【解决方案2】:

      手动删除

      如果你想手动删除集合,你可以在shell中使用这个命令。

      db.collection.drop()

      查看此链接了解更多详情click here

      通过 Sails.js 删除

      为 mongodb 使用低级本机代码

      // Get access to the native MongoDB client via the default Sails datastore.
      var db = sails.getDatastore().manager;
      
      db.collection('users').drop()
      

      在这里找到链接link

      【讨论】:

      • 我只想在帆升起时放下一张桌子。
      • 你可以使用另一种机制,因为当风帆升起时,这个过程在风帆之下......当你的应用程序启动时找到这种方法drop table,当应用程序加载并加载第一个入口点然后drop table。 ...因为这个过程在我们的应用程序下。
      • 我找到了办法。
      【解决方案3】:

      sails.js 结构中有一个名为 bootstrap 的文件,位于 config 文件夹中。

      在sails 服务器被提升之前执行引导文件。

      所以在服务器提升之前你不想做的任何事情都可以在这个引导文件中编写代码。

      module.exports.bootstrap = function(callback) {
           Users.destroy({},(error,response)=>
           { 
              if(error) { console.log("error while deleting table"); }
              else { callback(); }
           });
      };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-19
        • 1970-01-01
        • 2015-03-11
        • 1970-01-01
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多