サーバ環境の設定(1)


秩序あるサーバ環境の設定


  • npm init -y
    package.jsonを生成します.デフォルト設定は-yコマンドラインとして適用されます.

  • dependencies,インストールdevDependencies
  • dotenv
  • mysql2
  • sequelize
  • nodemon

  • sequelizeとしてデータベースの接続とテスト
  • を実行するsqlクエリーレコード
  • データベース接続に成功し、テスト接続関数を作成してコンソール障害を記録
  • Sequelize CLIのインストールnpm install --save-dev sequelize-cli
  • const { Sequelize } = require("sequelize");
    require("dotenv").config();
    
    const sequelize = new Sequelize(
      process.env.DB_NAME,
      process.env.DB_USER,
      process.env.DB_PASS,
      {
        host: process.env.DB_HOST,
        dialect: "mysql",
        logging: console.log,
        logging: (...msg) => console.log(msg),
      }
    );
    
    const testConnection = async () => {
      try {
        await sequelize.authenticate();
        console.log("successfully connected");
      } catch (error) {
        console.log("unalbe to connect to the database", error);
      }
    };
    testConnection();

  • sequelize CLIを使用したフォルダの作成とファイルの変更
  • npx sequelize-cli initconfig、models、migrations、seedersが作成されます

  • モデルの作成
    npx sequelize-cli model:generate --name User --attributes email:string,nickname:string,salt:string,password:string,isOauth:boolean,isAdmin:boolean 
    npx sequelize-cli model:generate --name Post --attributes hostId:integer,guestId:integer,reserved_at:date,isMatched:boolean,location:json,description:json
    npx sequelize-cli model:generate --name Chat --attributes authorId:integer,roomId:integer,content:string
    npx sequelize-cli model:generate --name Thumbsup --attributes postId:integer,giverId:integer,receiverId:integer
    npx sequelize-cli model:generate --name Issue --attributes postId:integer,reporterId:integer,targetId:integer,content:string


  • 作成した移行とモデルファイルの変更
    (defaultValueなどを追加)

  • 移行npx sequelize-cli db:migrate作成したモデル(テーブル)がデータベースに作成されます.
  • その他の変更点

    npx sequelize-cli initで作成されたconfigフォルダのconfigファイルはconfigです.jsonだからconfigjsに変更し、出口します.

    およびmodelsフォルダのindex.jsファイルからconfigオブジェクトを読み込む場合、ファイルパスもconfigです.jsonでconfig.jsに変更します.