在帆上创建一个新表

时间:2016-04-05 14:24:22

标签: mysql sails.js waterline

我的问题非常简单,但我无法通过网络找到答案。

我正在使用Sails / AngularJS项目,我只想在调用特定路径时在mysql中创建一个新表。

似乎水线不可能在之后创建一个。

如果有人知道如何解决这个问题,我会很高兴。

问候。

1 个答案:

答案 0 :(得分:2)

Waterline不提供任何创建表格的功能。

方法1:

但是它提供了Model.query()方法,您可以使用它来执行任何类型的查询。

//TestController.js
module.exports = {
    action1:function(req,res){
        var queryString='CREATE TABLE if not exists sailsusers.test (id INT NOT NULL,name VARCHAR(45) NULL,PRIMARY KEY (id))'
        Test.query(queryString,function(err,a){
            if(err)
              return console.log(err);
            console.log(a,'\n',b);
            res.ok();
        });
    }
};

这就是你如何做到的!

方法2 :(丢失数据的风险,因此从未在生产中做过)

config/models.js中添加以下内容。

   migrate: 'alter'

无论何时举起服务器,每个模型都会自动创建一个表。但没有人建议在生产中这样做。

  

这种方式不是首选。