1 - Exercise
express middleware, next()
settimeout関数sleep
$ touch server.js
$ npm init -y
$ npm i express sequelize sequelize-cli mysql2
$npm i-D nodemon(D=>依存項目を表します(すぐに保存して実行します)
$ npx sequelize init (Don't need migration and seeders) open workbench
-DROP DATABASE IF EXISTSデータベース名;
-CREATE DATABASEデータベース名;
config setting change password
mysql-u root-pとパスワード データベース名文字セットutf 8 mb 4 collate utf 8 mb 4 general ciを作成します. create user「ユーザー名」@「localhost」は、「パスワード」で識別されます.//ユーザー作成 は、すべてのデータベース名に権限を付与します.*ユーザー名@localhost;//ユーザー・データベースの権限期間 dbdiagram.ioのERD名.sql拡張子ファイルのエクスポート ERD名.sqlファイル の変更 mysql-uユーザー名-pデータベース名 データベースに接続してテーブルの生成を検証 mysql-uユーザー名-p;useデータベース名;show tables;
$ npm install --save sequelize $ npm install --save mysql2
settimeout関数sleep
イニシャル
$ touch server.js
$ npm init -y
$ npm i express sequelize sequelize-cli mysql2
$npm i-D nodemon(D=>依存項目を表します(すぐに保存して実行します)
$ npx sequelize init (Don't need migration and seeders)
-DROP DATABASE IF EXISTSデータベース名;
-CREATE DATABASEデータベース名;
config setting change password
1.データベースモデリング
データベースの作成
テーブルの作成(Migration)
DROP TABLE IF EXISTS users, articles, comments;
CREATE TABLE `users` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`email` varchar(100) UNIQUE NOT NULL,
`password` varchar(200) NOT NULL,
`status` ENUM ('ACTIVE', 'INACTIVE') NOT NULL DEFAULT "ACTIVE",
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime ON UPDATE CURRENT_TIMESTAMP, # 수정된 부분
`deleted_at` datetime DEFAULT null
);
CREATE TABLE `articles` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`user_id` int NOT NULL,
`title` varchar(200) NOT NULL,
`body` varchar(2000) NOT NULL,
`status` ENUM ('DRAFT', 'PUBLISHED', 'DELETED') NOT NULL DEFAULT "DRAFT",
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime ON UPDATE CURRENT_TIMESTAMP,
`deleted_at` datetime DEFAULT null
);
CREATE TABLE `comments` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`article_id` int NOT NULL,
`user_id` int NOT NULL,
`body` varchar(1000) NOT NULL,
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime ON UPDATE CURRENT_TIMESTAMP,
`deleted_at` datetime DEFAULT null
);
# 외래키 설정하는 부분
ALTER TABLE `articles` ADD FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
ALTER TABLE `comments` ADD FOREIGN KEY (`article_id`) REFERENCES `articles` (`id`);
ALTER TABLE `comments` ADD FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
3.ERP名.sqlファイルをMySQLデータベースに移行Sequelize ORM
Installing
Reference
この問題について(1 - Exercise), 我々は、より多くの情報をここで見つけました https://velog.io/@15_hwukjunwoo/Node-1-Exerciseテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol