db.js 862 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. const Sequelize = require('sequelize');
  2. // create Sequelize instance
  3. const sequelize = new Sequelize('w4a', 'w4a', 'w4aw4aw4a', {
  4. host: 'localhost',
  5. port: 3306,
  6. dialect: 'mysql',
  7. dialectOptions: { decimalNumbers: true }
  8. // logging: false
  9. });
  10. // create models
  11. class Person extends Sequelize.Model { }
  12. Person.init({
  13. lastname: Sequelize.STRING,
  14. firstname: Sequelize.STRING
  15. }, {
  16. sequelize,
  17. modelName: 'Person'
  18. });
  19. class MailAddress extends Sequelize.Model { }
  20. MailAddress.init({
  21. address: {
  22. type: Sequelize.STRING,
  23. validate: {
  24. isEmail: true
  25. }
  26. },
  27. type: Sequelize.ENUM('home', 'work')
  28. }, {
  29. sequelize,
  30. modelName: 'MailAddress'
  31. });
  32. // configure relations
  33. Person.hasMany(MailAddress, { onDelete: 'cascade' });
  34. MailAddress.belongsTo(Person, { onDelete: 'cascade' });
  35. // sync DB
  36. sequelize.sync();
  37. module.exports = {
  38. Person,
  39. MailAddress
  40. };