WordPressやSymfonyのTipsを中心にアニメや日常の出来事について語ります。
メニュー

blogチュートリアル 基本(6-1) エンティティからテーブルスキーマを生成

この記事は約1分43秒で読めます

Symfony2 blogチュートリアル 06-1 エンティティからテーブルスキーマを生成
ゆっきー
ども、カフェブロガーの悠木です。 お気に入りのカフェはドトールコーヒーです。 14時からの限定スイーツ「シューシャポー」が大好きです。

Symfony2 blogチュートリアル

日本Symfonyユーザー会さんのblogチュートリアルに沿って、進めていきたいと思います。

* リンクなしの記事はまだ書いてません。追々書きます。この記事をシェアしてくれたらモチベーションあがります!

* まだ書いてない記事は気分によって順番が前後する場合もあります。


動作環境

Mac環境

  • Mac: OS X EI Capitan 10.11.1
  • PHP: 5.6.10
  • MySQL: 5.6.13
  • Apache: 2.4.16
  • MAMP: 3.4
  • Symfony: 2.7.6

Windows環境

  • Windows: 7 Professional
  • PHP: 5.5.9
  • MySQL: 5.6.16
  • Apache: 2.4.7
  • Symfony: 2.7.6

さくらのVPS(CentOS)環境

CentOSはMacと同じコマンドで確認できました。

  • CentOS: 7.1.1503
  • PHP: 7.0.0RC7
  • MySQL: 5.6.27
  • Nginx: 1.6.3
  • Symfony: 2.7.6

エンティティからテーブルスキーマを生成

エンティティ(実体)をコマンドで作成して、テーブルスキーマを生成します。
通常はこの方法で作ります。

Postエンティティを作る

コマンドからPostエンティティと空のPostリポジトリを生成します。

src/App/BlogBundle/Entity/Post.php
src/App/BlogBundle/Entity/PostRepository.php

上記のファイルが生成されます。
その他のコマンドオプションについては公式のページを参照。

カラムの制約の指定方法

カラムのフィールドタイプやフィールドオプションはアノテーションで指定します。
Post.phpを開いて$titleのアノテーションを次のように指定します。

その他のフィールドタイプ、フィールドオプションについては下記の公式ページを参照ください。

エンティティからテーブルスキーマを生成

先ほど作ったPost.phpエンティティからテーブルを作成するコマンドです。

実際にpostテーブルが作成されたのか、確認してみましょう。
MySQLで次のSQL文を実行してみてください。

テーブルスキーマの変更方法

自動生成するとテーブルスキーマのカラム名がキャメルケースになる

注意点として、自動生成するとテーブルスキーマのカラム名がキャメルケースとなります。
テーブルスキーマのカラム名はスネークケースで書きたいので、次のようにname=””を変更します。

アノテーションで指定しているカラム名を変更します。
テーブルスキーマを作成するときと同じコマンドで更新も行えます。

MySQLで下記のSQL文を実行して変更されているか確認します。

カラムの追加

Post.phpに”deletedAt”を追記します。

最終的に出力されたテーブル及びファイル内容

postテーブル

Post.php

PostRepository.php

参考

Symfony2,PHP オススメ書籍

関連記事

  1. symfony2
  2. 基本からしっかり学ぶ Symfony2入門
  3. symfony2
  4. Symfony2 blogチュートリアル 06 テーブルスキーマとエンティティクラス
  5. Symfony2のブログチュートリアル! 〜MAMP環境構築編〜
  6. Symfony2 ウェブ設定画面(エラー)

コメントをお待ちしております

PR

カテゴリー