1

RoR を Node/Sequelize/Express/Angular アプリに完全に書き直すプロジェクトに取り組んでいます。

ローカル マシンで古いスキーマを実行し、データベース、テーブル、およびデータを正常に表示できます。

Node コード内で、既存の DB に接続する必要があります。

私はこのチュートリアルに従っています: http://redotheweb.com/2013/02/20/sequelize-the-javascript-orm-in-practice.html

Sequelize.import を使用してディレクトリを指定すると、私の質問が発生します。

  1. これは、スキーマが設定されたローカルの MySQL ディレクトリである必要がありますか? (はい)
  2. モデルはDB内のテーブルを参照していますか?

既存のリレーショナル マッピングに正しくアクセスする方法についてのアドバイスは役に立ちます。

これがスタックに関する私の最初の質問である場合は、事前に感謝します。

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 + '/' + )
})
4

1 に答える 1

1

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,
    });
};

投稿したスクリプトがルートであり、同じディレクトリに users.js ファイルを含む models という名前のフォルダーがあると仮定すると、スクリプトは機能します。渡すパス.importは、モデルを定義する JavaScript ファイルのファイル システム パスです。

于 2013-09-12T17:06:54.463 に答える