Sails.js schemaName不为sails postgresql工作

Sails.js schemaName不为sails postgresql工作,sails.js,meta,sails-postgresql,Sails.js,Meta,Sails Postgresql,我正在使用带有sails-postgresql适配器的sails v1.2.2。 正在寻找使用具有特定模式名的模型。 但是与映射到默认schemaName(public)的关系 AdapterError:数据库适配器出现意外错误:关系“public.t_role”不存在您好,在尝试升级到sails v1.x.x时,我遇到了相同的问题。我整天都在想办法,为VSCode做一些调试*thx 附言:我不知道这种方法是否真的能解决问题,但它是有效的 我必须在水线库的两个文件中添加一些代码 我不知道水线是

我正在使用带有sails-postgresql适配器的sails v1.2.2。 正在寻找使用具有特定模式名的模型。 但是与映射到默认schemaName(public)的关系


AdapterError:数据库适配器出现意外错误:关系“public.t_role”不存在

您好,在尝试升级到sails v1.x.x时,我遇到了相同的问题。我整天都在想办法,为VSCode做一些调试*thx

附言:我不知道这种方法是否真的能解决问题,但它是有效的

我必须在水线库的两个文件中添加一些代码

  • 我不知道水线是如何工作的,但是如果你想在查询模型时获取数据,sails将添加/替换(如果存在)元属性

  • 所以我必须在第82行添加一些类似的代码

    s3Q.using = model.tableName;
    
    if (typeof model.meta.schemaName !== 'undefined'){
      //meta property only set if query fetch : true
      if (typeof s3Q.meta !== 'undefined'){
        //we have to initialize propery of meta
        s3Q.meta.schemaName = model.meta.schemaName;
      }else{
        s3Q.meta = model.meta;
      }
    }
    
    在我尝试用populate获取一些数据之前,一切都很正常,sails get crash模式再次设置为public,在我再次进行调试之后,我找到了这个文件

  • 在这个文件中,我需要替换一些代码

    在第247行,替换为该代码

    meta: junctionTableModel.meta,
    
    var meta = childTableModel.meta;
    
    第290行和第441行替换为该代码

    meta: junctionTableModel.meta,
    
    var meta = childTableModel.meta;
    

    希望这有帮助。

    您是否运行了
    sails lift--alter
    --drop