Comments (5)
You can just do;
let manifest = require('./config/manifest');
manifest.registrations.push({
"plugin": {
"register": "hapi-sequelize",
"options": {
"name": "name",
"models": 'models/models/*.js',
"sequelize": new Sequelize(db_string, {
}),
"sync": true,
"forceSync": false
}
}
})
// Load the manifest and start the server
This loads the module correctly for me. hapi-sequelize v3.0.4 and glue 4.0.0
from hapi-sequelize.
I'm vaguely familiar with glue. It sounds like there isn't much we can do about that besides going back to having the plugin manage building up the Sequelize instance during registration again. Is this the case or are there any work arounds?
from hapi-sequelize.
That's precisely the case, depending on hapi-sequelize
to create the instance. What are the cons to having Sequelize
be a core dependency?
from hapi-sequelize.
That's how the plugin used to work before I did a complete rewrite (v3). Too tired to try and come up with a list of cons right now but my goal was to decouple Sequelize from the plugin and just make the plugin a lot simpler and more flexible overall.
I have no interest in going back to that at this moment but I will take a look at this issue later and weigh the options
from hapi-sequelize.
The work around is registering an internal plugin that in-turn registers hapi-sequelize
.
./server/app-start/hapi-sequelize/index.js:
import database from '../../database';
export const register: any = function register(server, options, next) {
server.register({
register: require('hapi-sequelize'),
options: [
{
name: 'db',
models: ['./server/models/**/*.js'],
sequelize: database,
sync: true
}
]
});
next();
};
register.attributes = {
name: 'sequelize',
version: '1.0.0'
};
./server/database/index.js:
// libs
import * as Sequelize from 'sequelize';
export default new Sequelize(process.env.DB_DATABASE, process.env.DB_USER, process.env.DB_PASSWORD, {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
dialect: process.env.DB_DIALECT,
dialectOptions: {
encrypt: true
}
});
./server/manifest.js:
// libs
import {Store} from 'confidence';
let store: Store,
manifest: any;
manifest = {
$meta: 'server setup',
connections: [...],
registrations: [
// Third Party Plugins
...
{
plugin: {
register: './app-start/hapi-sequelize'
}
}
...
]
};
store = new Store(manifest);
from hapi-sequelize.
Related Issues (20)
- unit test$
- documentation HOT 2
- Add test coverage HOT 5
- Migration support HOT 1
- Loading fixtures HOT 1
- Does not register as a plugin HOT 3
- Sequelize authenticate failure silenced HOT 5
- Reduce npm module size by removing devDependencies HOT 2
- RangeError: Maximum call stack size exceeded HOT 1
- "onConnect" is not allowed HOT 6
- Handle 'No space left on device' error.
- Using hapi-sequelize HOT 3
- Example of running migrations HOT 1
- Plugin not detecting models HOT 3
- Associations HOT 1
- Accessing the server instance from a model hook?
- Adding ignored models paths
- I can't register plugin in Hapi 17 HOT 1
- How about update hapi-sequelize to hapi 17 ? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hapi-sequelize.