2016-10-07 4 views
3

私はnodejsプロジェクトに取り組んでいます。私は次のmysqlダンプファイルを持っています。むしろ、手動でそのテーブルを作成し、mysqlクエリを使用して手動でデータをフィードすると、テーブルを作成し、そのテーブルにデータを挿入/挿入するダンプファイルを実行します。 どうすればコマンドでそれを行うことができますか?mysqlダンプファイルを実行してnodejsプロジェクトのテーブルとフィードデータを作成します

CREATE TABLE employees (
    id int(11) NOT NULL AUTO_INCREMENT, 
    name varchar(50), 
    location varchar(50), 
    PRIMARY KEY (id) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 

    INSERT INTO employees (id, name, location) VALUES 
    (1, 'Jasmine', 'Australia'), 
    (2, 'Jay', 'India'), 
    (3, 'Jim', 'Germany'), 
    (4, 'Lesley', 'Scotland'); 

UPDATE

私は以下のようなノードのjsで似た何かがレール

Populating database using seeds.rb

またはLaravel中にRubyでありたいとhere

+0

をこのチェックアウトのMySQL

と統合するために、すでにNPMモジュールがあるようです、それはあなたがそれ一回限り実行したいか、あなたがあなたのデータベースの変更を管理するために何かが必要なのか何かです一般? –

+0

すべて私はテーブルを作成し、データを挿入する必要があるそのファイルを実行する必要があります。それで全部です。 – 2619

+0

mysqlデータダンプをnode.jsシードコードに変換するスクリプトを探していますか? –

答えて

8

方法ですSQLスクリプトを実行するには、01を実行するプロセスを開くSQLスクリプトを入力として使用するコマンドラインクライアント。

SQLファイルを分割し、一度に1つずつステートメントを実行しようとする人がいます。しかし、これは一般的には機能しません。ダンプファイル(DELIMITERなど)には、クライアントに対してmysqlのコマンドが組み込まれているため、サーバーに対して実行できないものがあります。ここで

mysqlクライアントを起動するためにchild_processを使用する方法を示して過去のスタックオーバーフローの質問です:あなたが使用することができます

0

ツールはnode-db-migrateですが、私は知りませんそれがあなたの目的にとって過度のものであるならば。一般的には、データベースの移行を管理するために使用されますが、SQLファイルをダンプして実行できるようです。ここにdocumentationがあります。ここで手順は次のとおりです。

その後
npm install db-migrate --save 
npm install db-migrate-mysql --save 
mkdir migrations 

、あなたは(モジュールを探しますデフォルト名はdatabase.jsonで)異なる環境でのデータベース接続を管理します設定ファイルを作成する必要があります。このようなものでなければなりません。その後

{ 
    "dev": { 
    "host": "localhost", 
    "database": "your_db", 
    "driver": "mysql", 
    "user": "db_user", 
    "password": "your_pass" 
    }, 
    "prod": { 
    "host": "localhost", 
    "database": "your_db", 
    "driver": "mysql", 
    "user": "db_user", 
    "password": "your_pass" 
    } 
} 

、あなたが移行ファイルを作成する必要があります。

node_modules/.bin/db-migrate create employees-seed --sql-file 

上記のコマンドは、以下のファイルを作成します。

migrations/20161026123242-employees.js 
migrations/sqls/20161026123242-employees-up.sql 
migrations/sqls/20161026123242-employees-down.sql 

あなただけsqlコマンドをSQLファイルにダンプして、そのような移行を実行する必要があります。 (おそらくあなたは別の移行ファイルにあなたのmysqlコマンドを分割する必要があり):

node_modules/.bin/db-migrate up 
0

あなたはノード内の1つの大きな文字列にダンプファイルを読み込み、単一のコマンドでMySQLのドライバでそれを実行することができます。ドライバーはそれを処理できるはずです。

関連する問題