desc
sequelize Model hooks for sharded-table that like [tablename]_yyyy_mm
...( table should be created before)
use sequelize original hooks as a "AOP" to change target table name
user => user_2018_01,user_2018_02, ... ,user_2018_11,user_2018_12
start
-
npm install sequelize
-
npm install git@github.com:cclient/sequelize-sharding.git
or add dependenciessequelize-sharding":git@github.com:cclient/sequelize-sharding.git
thennpm install
original sequelize
const Sequelize = ; const sequelize = 'database' 'username' 'password' host: 'localhost' dialect: 'mysql' pool: max: 5 min: 0 acquire: 30000 idle: 10000 // SQLite only storage: 'path/to/database.sqlite' // http://docs.sequelizejs.com/manual/tutorial/querying.html#operators operatorsAliases: false; const User = sequelize; let user = name: "china" birthday: "2018-10-01"
hook
javascript
const sequelizeSharding = ;sequelizeShardingUser
typescript
;useCustomTableNamesequelize, User, "birthday", trueUser.insertOrUpdateuser
custom function to generate table's postfix like
useCustomTableName(sequelize, User, null, false, function(value) { return getYYMM(new Date())})
more detail see test/test.js