Cmarket database[2021.11.16]


1.モード、シードファイルのチェック


接続
  • mysql cmarketデータベースの作成
  • create database cmarket
  • の事前構成に従ってデータベースのテーブルを作成
  • mysql -u root -p < schema.sql -Dcmarket
  • テーブルに基づくデータの格納
  • mysql -u root -p < seed.sql -Dcmarket
  • 2.サーバ

  • 環境変数を使用してデータベース情報を格納
  • 安全で便利な理由から、パスワードを環境変数
  • に分けることをお勧めします.
    パスワードは
  • で公開されている環境に露出できないため、環境変数を管理するファイルは必ず.gitignoreファイルを登録します!!重要
  • .データベースパスワード
  • をenvファイルで保存

    3.ルーター


    エンドポイント
  • ルータはコントローラへのアクセスを支援します
  • app.js検査による端点
  • ユーザは、
  • を介してフォルダにルーティングされる.jsファイルの作成
  • controller.orders.get, controller.orders.郵便番号
  • index.jsファイルのuser.jsエンドポイント
  • の作成

    4.コントローラ


    各エンドポイントの
  • に対して
  • を実施する.
  • GET/users/:userId/orders
  • req.paramsを介してuserId値
  • を受信
  • userId値がある場合、対応する応答
  • は、モデル受注のgetメソッドによって導出される.
  • POST/users/:userId/orders
  • req.paramsでuserId値、reqを受信します.bodyによりorders、totalPrice値
  • を受信
  • すべての値が正しく伝達する場合、正しい応答
  • は、モデル内の注文のPOSTメソッドによって導出される.

    5.モデル

  • SQLクエリー、データベース内の情報を処理する
  • データベースクエリー要求非同期!
  • 
    const queryString = `SELECT * FROM users where users.id = ? `;
    //데이터베이스에 연결하여 찾고자하는 값의 쿼리문 작성
    const params = [[userId]]
    // 파라미터로 전달 받은 값을 배열의 형태로 저장!
    db.query(queryString, params, (error, result) => {
            callback(error, result);
    });
    //query()메소드를 통해 데이터베이스에서 원하는값 찾기
    //쿼리문의 ? 자리에 두번째로 전달받은 인자값(pamas)이 들어감!!!
    //단일값일 경우 이중배열로 넣어야하며, 값이 여러개일 경우 삼중배열로 작성!!
    //[[[userId, totalPrice]]]