2015-06-11 18 views
8

La linea di galleggiamento è un ottimo ORM ma ho notato che ci sono molte caratteristiche che non sono ancora presenti sulla linea di galleggiamento ma Sequelize hanno già. Così ho deciso di passare al sequelize ma ancora usando Sails per le altre cose. Ho tutorial di ricerca su come passare al sequelize ma niente. Come posso sostituire Waterline per sequelize in vele Js?Come usare Sequenza in SailsJs

+0

Controlla questo post https://groups.google.com/d/msg/sailsjs/ALMxbKfnCIo/H2RcRUnnFGEJ di Manuel Darveau. –

risposta

11

Ho proseguito con il sequelize, ci sono due progetti che sono usciti molto recentemente, quindi vorrei annunciarli.

sails-hook-sequelize:

Ne consegue la risposta di Manuel Darveau, sarà recuperare tutti i vostri modelli, l'importazione attraverso sequelize e serve i vostri modelli come variabili globali, è possibile forzare la sincronizzazione sequelize con allo stesso modo con migrate: 'drop'

sails-hook-sequelize-blueprints

Vele progetti mi ha salvato un sacco di tempo, così ho scritto una forchetta per lavorare con sequelize, che funzionano allo stesso modo di disegni originali, e ci si può comunque avere le stesse configurazioni come cianografie rest, shortcuts, prefix e così via, poiché la linea di galleggiamento popola i modelli con la funzione populateEach(), utilizza include: [{ all: true }] il cui risultato è lo stesso.

Un esempio completo:

$ npm install sails-hook-sequelize 
$ npm install sails-hook-sequelize-blueprints 
$ npm install sequelize 
$ npm install pg pg-hstore 
$ npm install continuation-local-storage 

.sailsrc

"hooks": { 
    "blueprints": false, 
    "orm": false, 
    "pubsub": false 
} 

connections.js

somePostgresqlServer: { 
    user: 'postgres', 
    password: '', 
    database: 'database', 
    dialect: 'postgres', 
    options: { 
     dialect: 'postgres', 
     host : 'localhost', 
     port : 5432, 
     logging: true 
    } 
} 

definizione del modello

// user.js 
module.exports = { 
    attributes: { 
    name: { 
     type: Sequelize.STRING, 
     allowNull: false 
    }, 
    age: { 
     type: Sequelize.INTEGER 
    } 
    }, 
    associations: function() { 
    user.hasMany(image, { 
     foreignKey: { 
     name: 'owner', 
     allowNull: false 
     } 
    }); 
    }, 
    options: { 
    tableName: 'user', 
    classMethods: {}, 
    instanceMethods: {}, 
    hooks: {} 
    } 
}; 

Questo è tutto.

+1

Questo usa anche sequenziare le migrazioni? – nahtnam

+0

Le sequenze di migrazione funzionano effettivamente con CLI, quindi puoi eseguire migrazioni ovunque, hai solo bisogno di un config/config.json contenente le connessioni al database, generare il file di migrazione, aggiungere alcune colonne e il gioco è fatto. – FXCesinha

+0

@FXCesinha, cosa devo fare quando voglio utilizzare più connessioni. http://stackoverflow.com/questions/36565379/use-multiple-datastore-connections-with-sequelize?noredirect=1#comment60735265_36565379 – Milkncookiez