2015-04-14 22 views
5

In realtà ho provato ad avviare un progetto con Sailsjs come database di DynamoDB.Integrare DynamoDb in Sails js

Ricerca in Internet Ho trovato questo pacchetto https://github.com/dohzoh/sails-dynamodb, ho scoperto che hanno la documentazione completa per l'installazione iniziale.

ho installato questo pacchetto per il mio progetto e ho provveduto a impostare il progetto come segue:

config/connections.js:

dynamoDb: { 
    adapter: "sails-dynamodb" 
    }, 

e config/models.js:

connection: 'dynamoDb' 

Ho messo le mie chiavi Amazon in node_modules/sails-dynamodb/credentials.json

creo il prossimo modello:

module.exports = { 
    attributes: { 
     idFacebook : { 
      type : 'string', 
      unique: true 
     }, 
     emailUser : { 
      type : 'string', 
      required : true 
     }, 
     nameUser : { 
      type: 'string', 
      required : true 
     }, 
     lastNameUser : { 
      type: 'string', 
      required : true 
     } 
    } 
}; 

And When I vele sollevare, butto l'errore successivo:

/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/node_modules/aws-sdk/lib/request.js:32 
      throw err; 
       ^
Error: define no longer accepts schema callback, migrate to new api 
    at Object.vogels.define (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/lib/index.js:126:11) 
    at Object.module.exports.adapter._getModel (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/index.js:169:23) 
    at Object.module.exports.adapter.define (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/index.js:289:33) 
    at /usr/lib/node_modules/sails/node_modules/waterline/lib/waterline/adapter/ddl/index.js:60:15 
    at bound (/usr/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:957:21) 
    at applyInOriginalCtx (/usr/lib/node_modules/sails/node_modules/waterline/lib/waterline/utils/normalize.js:416:80) 
    at wrappedCallback (/usr/lib/node_modules/sails/node_modules/waterline/lib/waterline/utils/normalize.js:315:18) 
    at _normalizeCallback.callback.success (/usr/lib/node_modules/sails/node_modules/waterline/node_modules/switchback/lib/normalize.js:33:31) 
    at _switch (/usr/lib/node_modules/sails/node_modules/waterline/node_modules/switchback/lib/factory.js:48:28) 
    at Response.<anonymous> (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/index.js:340:21) 
    at Request.<anonymous> (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/node_modules/aws-sdk/lib/request.js:350:18) 
    at Request.callListeners (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/node_modules/aws-sdk/lib/sequential_executor.js:100:18) 
    at Request.emit (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/node_modules/aws-sdk/lib/sequential_executor.js:77:10) 
    at Request.emit (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/node_modules/aws-sdk/lib/request.js:604:14) 
    at Request.transition (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/node_modules/aws-sdk/lib/request.js:21:12) 
    at AcceptorStateMachine.runTo (/home/uppersky01/proyectos/gameMouseCat/node_modules/sails-dynamodb/node_modules/vogels/node_modules/aws-sdk/lib/state_machine.js:14:12) 

sto cercando bug simili, ma non ho trovato una risposta a questo problema . Spero che qualcuno possa aiutarmi.

Grazie

+0

Ecco un adattatore dynamodb più attivo: https://github.com/gadelkareem/sails-dynamodb. Proverei a usare quello invece. –

+0

Ha funzionato? Se sì, accettalo come risposta. –

risposta

1

Anch'io ho affrontato lo stesso problema. Puoi provare a eseguire il downgrade della versione corrente del modulo "vogels". Ha funzionato per me qualche tempo fa, ma ho dovuto aggiornarlo in seguito perché dovevo usare la versione più recente di "aws-sdk".

Forse [email protected] funziona. Non mi ricordo esattamente, ma puoi provare qualche altra versione.