balderdashy / sails

Realtime MVC Framework for Node.js
https://sailsjs.com
MIT License
22.82k stars 1.95k forks source link

Cannot initialize Waterline #4398

Open jakub-wisniowski opened 6 years ago

jakub-wisniowski commented 6 years ago

Sails version: 0.12.13 Node version: 6.11.0 NPM version: 4.6.1 DB adapter name: sails-mongo DB adapter version: 4.6.1 Operating system: Win10


I've created a clean sails project and want to connect to mongoDB but on sails lift I get the following error:

error: A hook (orm) failed to load! error: Failed to teardown ORM hook. Details: Error: Consistency violation: Internal error in Waterline: Adapter received unexpected falsey datastore name (null)! Can't look up a DS ent ry from this adapter with that... (Please report this error at http://sailsjs.com/bugs.) at Object.teardown (C:\Users\Ada\Desktop\projektIA\server\node_modules\sails-mongo\lib\ind ex.js:387:19) at runTeardownInEachAdapter (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modu les\sails-hook-orm\lib\teardown.js:45:15) at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\node_mo dules\async\lib\async.js:181:20 at Object.async.forEachOf.async.eachOf (C:\Users\Ada\AppData\Roaming\npm\node_modules\sail s\node_modules\sails-hook-orm\node_modules\async\lib\async.js:233:13) at Object.async.forEach.async.each (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\no de_modules\sails-hook-orm\node_modules\async\lib\async.js:209:22) at teardown (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-o rm\lib\teardown.js:37:11) at Hook.teardown (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\sails-h ook-orm\index.js:157:14) at Sails.wrapper (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\@sailsh q\lodash\lib\index.js:3250:19) at Sails.g (events.js:292:16) at emitNone (events.js:86:13) at Sails.emit (events.js:185:7) at Sails.emitter.emit (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\lib\app\private \after.js:50:11) at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\lib\app\lower.js:67:11 at beforeShutdown (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\lib\app\lower.js:45 :12) at Sails.lower (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\lib\app\lower.js:49:3) at Sails.wrapper [as lower] (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modu les\@sailshq\lodash\lib\index.js:3250:19) at sailsReady (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\lib\app\lift.js:41:20) at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:721 :13 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:52: 16 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:264 :21 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:44: 16 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:718 :17 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:167 :37 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\lib\app\load.js:173:22 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:52: 16 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:565 :21 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\async\lib\async.js:167 :37 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\lib\app\load.js:120:23 error: Error: ------------------------------------------ Cannot initialize Waterline. The installed version of adapter sails-mongo is too new! Please try installing a version < 1.0. ------------------------------------------

at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\waterline\lib\waterlin

e.js:90:15 at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\index.js:3073:1 5 at baseForOwn (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\ind ex.js:2046:14) at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\index.js:3043:1 8 at Function. (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\ lodash\index.js:3346:13) at Waterline.initialize (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\ waterline\lib\waterline.js:86:7) at buildWaterlineOntology (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_module s\sails-hook-orm\lib\build-waterline-ontology.js:45:19) at Array.async.auto._buildOntology (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\no de_modules\sails-hook-orm\lib\initialize.js:388:7) at listener (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-o rm\node_modules\async\lib\async.js:605:42) at C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\node_mo dules\async\lib\async.js:544:17 at _arrayEach (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook -orm\node_modules\async\lib\async.js:85:13) at Immediate.taskComplete (C:\Users\Ada\AppData\Roaming\npm\node_modules\sails\node_module s\sails-hook-orm\node_modules\async\lib\async.js:543:13) at runCallback (timers.js:672:20) at tryOnImmediate (timers.js:645:5) at processImmediate [as _immediateCallback] (timers.js:617:5)

In connections.js I wrote:

MongodbServer: {
     adapter: 'sails-mongo',
     host: 'mongodb',
     port: 27017,
  //   user: 'username', //optional
  //   password: 'password', //optional
  //   database: 'your_mongo_db_name_here' //optional
   }

This setup works in my older sails app. The only difference between them is that the working version's package.json does not list sails-mongo as a dependency, while the fresh project lists it as follows:
"sails-mongo": "^1.0.1" I suppose the sails-mongo 4.6.1 is installed globally and I don't want to change it, because I don't want to break my older app. What can I do to make it work?

sailsbot commented 6 years ago

@adzina Thanks for posting, we'll take a look as soon as possible.


For help with questions about Sails, click here. If you’re interested in hiring @sailsbot and her minions in Austin, click here.

johnabrams7 commented 5 years ago

@adzina Considering the error message: Cannot initialize Waterline. The installed version of adapter sails-mongo is too new! Please try installing a version < 1.0.

Try installing an older version of sails-mongo in your project with Sails. v0.12.13 npm install sails-mongo@^0.12.3

Hope this helps!