2017-04-18 4 views
1

私はFeathersの初心者ですが有望そうですので、SQL Serverデータベースに接続できるかどうかを確認しようとしていますが、正しく機能しています離れて。FeathersJS:sequelizeとSQL Serverの基本設定

私は私の接続文字列を編集し、私はnpm startを実行したとき、それはスローとsrc/models/sqlserver.model.jsでエラーそして、docsに続き、feathers generate serviceを使用:

==> const sqlserver = sequelizeClient.define('sqlserver', {... 
TypeError: Cannot read property 'define' of undefined 

ジェネレータはdefault.jsonを編集し、すべてのこれらのファイルを追加しました:

/src 
    mssql.js 
    /services 
    index.js 
    sqlserver/ 
     sqlserver.filters.js 
     sqlserver.hooks.js 
     sqlserver.service.js 

しかし、ドキュメントには何も言及されていません(少なくとも私が理解したとおりではありません)。私はジェネレータがこれを設定する最も簡単な方法だと思うだろうが、ドキュメントはジェネレータの使用を無視しているように私には混乱し、すべてがapp.jsにある。

フェザーで基本的なSQL Serverサービスをセットアップするだけであれば誰でも提供できます。

答えて

2

これは実際にfeathers-cli v2.0.4で解決する必要があるバグでした(プルリクエストhereを参照)。 npm update feathers-cli -gを使用して更新し、新しいアプリケーションを生成することができます。

また、あなたが、それはまた、問題を解決する必要があります

app.set('sequelizeClient', sequelize); 

app.set('mssqlClient', sequelize); 

を言う既存のsrc/sequelize.jsのファイルを変更することができます。

+0

これは、「sql」という名前の続編サービスを追加した後にサーバーを起動できるようにしたので、質問の最初の部分に回答していただきありがとうございます。しかし、私は "チャット"ガイドをやって、NeDBメッセージサービスではなくこのサービスを使用しようとしていますが、 'localhost:3030/sql'を打つと500エラーになります。 APIドキュメントはapp.jsのすべてを持つように見えるので、実際にデータベース接続をテストする方法はまだ分かりません。他人がこれに苦しんでいるのですか、あるいはJSのプロフェッショナルがフェザーに新しいことを教えてくれますか? – redOctober13

+0

なぜ '/ sql'エンドポイントにヒットしようとしていますか? 'messages'サービスを作成しても、' localhost:3030/messages' – Daff

+0

です。ジェネレータが名前を要求したときにサービス名を付けたものです。 問題の一部は、 'mssql.js'でこの行の後に接続の詳細をログアウトすると、' const {port、hostname、username、password} = connection; '、ユーザ名とパスワードは定義されていないと言います。 'url.parse()'関数は、usernameとpasswordを持つ 'auth'プロパティを持つオブジェクトを返しますが、それらの名前を持つ小道具は返しません。 – redOctober13

関連する問題