UserModel.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const { Sequelize, DataTypes } = require('sequelize');
  2. const sequelize = new Sequelize({
  3. dialect: 'sqlite',
  4. storage: './database/db.sqlite',
  5. logging: false
  6. });
  7. const User = sequelize.define('User', {
  8. // Model attributes are defined here
  9. id: {
  10. type: DataTypes.INTEGER,
  11. autoIncrement: true,
  12. primaryKey: true
  13. },
  14. first_name: {
  15. type: DataTypes.STRING,
  16. allowNull: false
  17. },
  18. last_name: {
  19. type: DataTypes.STRING
  20. // allowNull defaults to true
  21. },
  22. username: {
  23. type: DataTypes.STRING
  24. // allowNull defaults to true
  25. },
  26. email: {
  27. type: DataTypes.STRING
  28. // allowNull defaults to true
  29. },
  30. password: {
  31. type: DataTypes.STRING,
  32. // allowNull: false
  33. },
  34. role: {
  35. type: DataTypes.STRING
  36. // allowNull defaults to true
  37. },
  38. group: {
  39. type: DataTypes.STRING
  40. // allowNull defaults to true
  41. },
  42. avatar: {
  43. type: DataTypes.STRING
  44. // allowNull defaults to true
  45. },
  46. UUID: {
  47. type: DataTypes.UUID,
  48. defaultValue: DataTypes.UUIDV4
  49. }
  50. });
  51. async function syncModel() {
  52. await sequelize.sync();
  53. console.log('User model synced');
  54. }
  55. syncModel();
  56. module.exports = User;