knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

express + sequelize +mysql の設定編 #javascript #node.js #mysql

index:

概要:

前のexpress 関連になりますが、
sequelize O/R マッピングで、mysql の使用となります。

環境

node.js 10.16.0
sequelize 5.11.0

install

・express, sequelize

express app3

cd app3

npm install

// エラーがでたので、下記を追加
npm audit fix

npm start

・sequelize

npm install sequelize --save

npm install mysql2 --save

//CLI
npm install -g sequelize-cli


・ ejs 関係

npm install ejs --save

npm install express-ejs-layouts --save

sequelize 設定

・事前に、 mysql DBを作成しておきます。

sequelize init

・config/config.json
の修正, mysql 接続設定を追加。
https://github.com/kuc-arc-f/app3_sample/blob/master/config/config.json

  "development": {
    "username": "db_user",
    "password": "password",
    "database": "vue1",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false
  },

model作成

create, migration

sequelize model:create --name User --attributes name:string

sequelize db:migrate

express から使ってみる。

https://github.com/kuc-arc-f/app3_sample/blob/master/routes/users.js


・追加

router.get('/create', function(req, res, next) {
	models.User.create({
        name: 'yamada tarou',
	})
	.then((result) => {
        console.log('データ取得', result.dataValues);
        res.send('respond with a resource');
	});

});

・検索

router.get('/', function(req, res, next) {
    models.User.findAll().then((result) => {
        var items = result
        items.forEach( function (item) {
                console.log( item.dataValues );
        });
        var param = {"result": result};
        res.json(param);
    });
});

参考の設定

github.com