mysql - 使用 Sequelize 为 Node/Express 应用程序连接现有的 MySQL 数据库

标签 mysql ruby-on-rails node.js database-schema sequelize.js

致力于将 RoR 完全重写为 Node/Sequelize/Express/Angular 应用程序的项目。

我已经在我的本地机器上执行了旧模式并且可以正常查看数据库、表和数据。

在我的 Node 代码中,我需要连接现有的数据库。

我正在学习本教程:http://redotheweb.com/2013/02/20/sequelize-the-javascript-orm-in-practice.html

我的问题出现在使用 sequelize.import 并将其指向目录时。

  1. 这应该是我在其中设置模式的本地 MySQL 目录吗? (假设是)
  2. 模型是否引用数据库中的表?

有关如何正确访问现有关系映射的建议很有帮助。

这是我关于 Stack 的第一个问题,在此先感谢您。

var express = require('express');
var http = require('http');
var path = require('path');
var config = require('./config/config');

var Sequelize = require('sequelize');

var app = express();

var db = new Sequelize('somedb', 'root', 'password');

var models = [
  'users'
];

models.forEach(function(model){
  module.exports[model] = sequelize.import(__dirname + '/' + )
})

最佳答案

Sequelize.import 无法导入您当前的 SQL 模式。您将需要编写 JavaScript 代码来定义您的模型:

// in models/users.js
module.exports = function(sequelize, DataTypes) {
    return sequelize.define('User', {
        first_name: DataTypes.STRING,
        last_name: DataTypes.STRING,
    });
};

假设您发布的脚本是根目录,并且在同一目录中有一个名为 models 的文件夹和一个文件 users.js,那么该脚本将起作用。您传递给 .import 的路径是定义模型的 javascript 文件的文件系统路径

关于mysql - 使用 Sequelize 为 Node/Express 应用程序连接现有的 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749907/

相关文章:

php - 从下拉菜单中选择选项后无法更新记录

ruby-on-rails - AWS Beanstalk Worker 无法启动 SQS 守护进程 aws-sqsd

javascript - CanvasJS 的 jQuery 导入错误

Node.js 退出 clean Express starter app.js

java - mysql存储过程总是返回参数值= 0

php - 用于显示数据的 Mysql 查询

mysql - 如何成功导出 Magento 1.9 数据库(MySQL 5.6)并将其导入 MySQL 5.5

ruby-on-rails - 我应该在 Ruby on Rails 3.0 中的计数器缓存列上添加索引吗

mysql - Ruby on Rails 和 MySQL 查询最佳实践

node.js - html页面刷新后如何避免在socket.io中创建新的套接字连接?