اذهب إلى المحتوى

السؤال

نشر

 

أواجه الخطأ التالي TypeError: sequelize.sync is not a function عند تشغيل 'npm start' 

وذلك هو  ملف server.js الخاص بي:

const express = require('express');
const routes = require('./routes')
// استيراد اتصال Sequelize
const sequelize = require('sequelize');

const app = express();
const PORT = process.env.PORT || 3001;

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.use(routes);

// مزامنة نماذج Sequelize مع قاعدة البيانات، ثم تشغيل الخادم
sequelize.sync({ force: true, alter: true }).then (() => {
  app.listen(PORT, () => 
    console.log(`التطبيق يستمع على المنفذ ${PORT}!`));
});

أيضًا:

require('dotenv').config();

const Sequelize = require('sequelize');

const sequelize = process.env.JAWSDB_URL
  ? new Sequelize(process.env.JAWSDB_URL)
  : new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PW, {
      host: 'localhost',
      dialect: 'mysql',
      dialectOptions: {
        decimalNumbers: true,
      },
    });

module.exports = sequelize;

تم تثبيت جميع التبعيات الخاصة بي، ولست متأكدًا من ماذا يمكنني القيام به بعد ذلك، وقمت بحذف package-lock.json و node modules وقمت بتنظيف الذاكرة المؤقتة دون نجاح.

Recommended Posts

  • 0
نشر

في ملف server.js يبدو أنك تريد استيراد الشيفرات من الملف الآخر seqlueze ولكنك في الحقيقة استوردته من المكتبة الأصلية

node_modules

لذلك أعتقد أنه يجب استبدال السطر

const sequelize = require('sequelize');

بالسطر

const sequelize = require('./sequelize');

حتى يتم استيراد الشيفرات بعدما تم تفعيلها وتجهيز قواعد البيانات

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...