sails-google-cloud-datastore v1.0.4
sails-google-cloud-datastore
A Sails Waterline adapter for Google Cloud Datastore.
Usage
Install the adapter from npm:
npm install sails-google-cloud-datastoreThen, configure the adapter in https://github.com/balderdashy/sails by modifying your datastore config:
...
models: {
datastore: 'production'
},
datastores: {
production: {
adapter: 'sails-google-cloud-datastore',
projectId: 'foo',
keyFilename: '/path/to/keyfile.json'
}
},
...Note: the
keyFilenameconfiguration is only required if you're not using Application Default Credentials. For more information on setting up explicit service credentials, see here.
Notes
Datastore doesn't have a concept of null, so null values will be transformed to 'NULL' on the fly, and on the off-hand chance you're setting something to 'NULL', that will be transformed to '"NULL"'.
Currently failing ~26 tests or so, mostly because the adapter doesn't support:
avg(),count(),sum(), orsetSequence().!=,nin, orlikein queries
The Google-provided NodeJS library used under the hood doesn't support OR, so queries requiring OR are split into multiple queries instead, e.g.:
SELECT * WHERE first_name='DAN' OR last_name='WILKERSON'becomes
SELECT * WHERE first_name='DAN'
UNION
SELECT * WHERE last_name='WILKERSON'Development
To test, install the Google Cloud Datastore Emulator, then run npm run test.
Occasionally the tests will stall, missing when the emulator boots up. I'm guessing my test command is the culprit; improvements welcome!
Licensed under the MIT license.