简体   繁体   中英

Deprecated: `config.adapters.default` Sails.js

When I lift my sails project I get these warnings on terminal

debug: Deprecated: config.adapters.default debug: (see http://links.sailsjs.org/docs/config/connections ) debug: For now, I'll pretend you set config.models.connection .

debug: Deprecated: config.adapters debug: (see http://links.sailsjs.org/docs/config/connections ) debug: For now, I'll pretend you set config.connections .

debug: Deprecated: config.adapters.*.module debug: (see http://links.sailsjs.org/docs/config/connections ) debug: For now, I'll pretend you set config.connections["disk"].adapter .

And my data is not stored in mysql DB. This is my api model code

module.exports = {

  schema:true,

  tableName: 'BusStop',

  adapters: 'mysql-adapter',

  migrate: 'safe',

  attributes: {
    stopID:{
        type: 'int'
    },
    stopName:{
        type: 'string'
    },
    latitude:{
        type: 'float'
    },
    longitude:{
        type: 'float'
    }
  }
};

This is my local.js code

module.exports = {

   port: process.env.PORT || 1337,

    environment: process.env.NODE_ENV || 'development',

    adapters:{
      'default': 'disk',
      disk:{
        module:'sails-disk'
      },

      'mysql-adapter': {
        module    : 'mysql-sails',
        host      : '127.0.0.1',
        user      : 'root',
        password  : '',
        database  : 'PublicTransport',
        schema    : true
      }
    }

};

And this is my connections.js code

module.exports.connections = {
 localDiskDb: {
    adapter: 'sails-disk'
  },
  'mysql-adapter': {
    module    : 'sials-mysql',
    host      : '127.0.0.1',
    port      : 3306,
    user      : 'root',
    password  : '',
    database  : 'PublicTransport'
  },
  someMongodbServer: {
    adapter: 'sails-mongo',
    host: 'localhost',
    port: 27017,
  },
  somePostgresqlServer: {
    adapter: 'sails-postgresql',
    host: 'YOUR_POSTGRES_SERVER_HOSTNAME_OR_IP_ADDRESS',
    user: 'YOUR_POSTGRES_USER',
    password: 'YOUR_POSTGRES_PASSWORD',
    database: 'YOUR_POSTGRES_DB'
  }

};

I want to know how can I remove these Deprecated warnings and why my data is not being stored in the Database.

Looks like the links in those deprecation warnings are incorrect. For information on how to configure Sails connections, see http://sailsjs.org/#/documentation/reference/sails.config/sails.config.connections.html .

You should be able to make those messages go away by following their instructions regarding what config keys to set.

In order to set a connection for a specific model, you now set the connection property:

module.exports = {

  schema:true,

  tableName: 'BusStop',

  connection: 'mysql-adapter', // "adapter" is now "connection

  migrate: 'safe',

  attributes: {...}

}

In order to specify the adapter to use for a connection, use the adapter key, not module ; you're already doing this in most of your connections, you just need to update mysql-adapter .

In your config/local.js you're using the deprecated adapters key to set up connections; use connections instead.

Lastly, in order to set a default connection for all of your models, you do as the deprecation message says and set sails.config.models.connection rather than sails.config.adapters.default ; you can do so easily in the config/models.js file, or in your config/local.js like so:

module.exports = {

  models: {
    connection: 'mysql-adapter'
  },

  ...more config...

}

This warning can also be generated if your project has an config/adapters.js file. If the file is empty it can be deleted and Zap the warning is gone.If it contains code then you will need to migrate it to the correct path config/models.js and config/connections.js

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM