user.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const moment = require('moment');
  2. module.exports = (sequelize, DataTypes) =>
  3. sequelize.define('user', {
  4. id: {
  5. type: DataTypes.INTEGER,
  6. allowNull: false,
  7. primaryKey: true,
  8. autoIncrement: true
  9. },
  10. name: {
  11. type: DataTypes.STRING(64),
  12. allowNull: false,
  13. unique: 'column'
  14. },
  15. password: {
  16. type: DataTypes.STRING(512),
  17. allowNull: false
  18. },
  19. phone: {
  20. type: DataTypes.STRING(64),
  21. allowNull: false,
  22. unique: 'column'
  23. },
  24. email: {
  25. type: DataTypes.STRING(512),
  26. allowNull: false,
  27. defaultValue: "xxxxx@xxx.com"
  28. },
  29. photo: {
  30. type: DataTypes.STRING(512),
  31. allowNull: false,
  32. defaultValue: "/image/default-photo.jpg"
  33. },
  34. role: {
  35. type: DataTypes.ENUM,
  36. values: ['STUDENT', 'TEACHER', 'ADMIN'],
  37. allowNull: false,
  38. defaultValue: 'STUDENT'
  39. },
  40. signature: {
  41. type: DataTypes.STRING(512),
  42. allowNull: false,
  43. defaultValue: "无"
  44. },
  45. createdTime: {
  46. type: DataTypes.DATE,
  47. allowNull: false,
  48. get() {
  49. return moment(this.getDataValue('createdTime')).format('YYYY-MM-DD HH:mm:ss');
  50. }
  51. },
  52. isValid: {
  53. type: DataTypes.BOOLEAN,
  54. allowNull: false,
  55. defaultValue: true
  56. },
  57. }, {
  58. tableName: 'user'
  59. });