gammaaex / CASystem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CASystem

本番環境

  • 新生さくらのレンタルサーバのスタンダードプラン環境を想定
  • PHP 7.1系
  • MySQL 5.7系

開発環境

  • 開発の仮想環境としてDockerを導入
    • Laradock環境構築セットを利用
  • Docker
    • MySQL 5.7系
    • Nginx latest
    • PHP 7.1系
    • phpMyadmin latest
  • Laravel 5.6系

設計

  • DB設計にはMWB(MySQL Workbench)のER図を利用
    • 複合主キーを用いないサロゲートキーでの設計
      • 複合主キーはDBがきれいになるが、Webアプリでは開発が大変
      • そもそもEloquent ORMは複合主キーをサポートしていない
    • マイグレーションファイルを書くのは大変なので既存DBから生成

開発手順

  1. MWBにてDB設計
    1. ER図からDDL(SQLファイル)を生成
  2. 開発環境の構築
    1. Laradockを利用して開発環境を構築
      1. Nginx、MySQL、phpMyadminのコンテナを利用
      2. コンテナ内でcomposerを使ってLaravelプロジェクトを作成
  3. 開発
    1. データベースの準備
      1. DDLをDBに適用
      2. プラグインを利用してマイグレーションファイルを生成
      3. スカフォードを生成
      4. ファクトリーを定義
      5. シーダを定義
      6. DatabaseSeederに呼び出すシーダを定義
      7. マイグレーションとシーダを実行

利用しているプラグイン

PHPのプラグインについてはcomposer.jsonを見ることで導入しているプラグインがわかるが、 Laravelが自動的に導入したものも含まれるのでここでは明示的に自分で導入したプラグインを記す

About

License:MIT License


Languages

Language:PHP 94.8%Language:HTML 5.1%Language:Vue 0.1%