Guest User

Untitled

a guest
Dec 18th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. const Sequelize = require('sequelize')
  2. // models is optional based on app
  3. const UserModel = require('./models/user')
  4. const BlogModel = require('./models/blog')
  5. const TagModel = require('./models/tag')
  6.  
  7. const dbname = 'DB_NAME';
  8. const dbuser = 'DB_USER';
  9. const dbpass = 'DB_PASS';
  10.  
  11. const sequelize = new Sequelize(dbname, dbuser, dbpass, {
  12. host: 'localhost',
  13. dialect: 'mysql',
  14. pool: {
  15. max: 10,
  16. min: 0,
  17. acquire: 30000, // in ms
  18. idle: 10000 // in ms
  19. }
  20. })
  21.  
  22. /* -- MODEL DEFINITION --
  23. *
  24. */
  25. const User = UserModel(sequelize, Sequelize)
  26. // BlogTag will be our way of tracking relationship between Blog and Tag models
  27. // each Blog can have multiple tags and each Tag can have multiple blogs
  28. const BlogTag = sequelize.define('blog_tag', {})
  29. const Blog = BlogModel(sequelize, Sequelize)
  30. const Tag = TagModel(sequelize, Sequelize)
  31.  
  32. /* -- MODEL RELATIONSHIP -- */
  33. Blog.belongsToMany(Tag, { through: BlogTag, unique: false })
  34. Tag.belongsToMany(Blog, { through: BlogTag, unique: false })
  35. Blog.belongsTo(User);
  36.  
  37. /* SYNC DATABASE ORM */
  38. sequelize.sync({ force: true })
  39. .then(() => {
  40. console.log(`Database & tables created!`)
  41. })
  42.  
  43. module.exports = {
  44. User,
  45. Blog,
  46. Tag
  47. }
Add Comment
Please, Sign In to add comment