10.1.2 ブログデータベースの作成

The original text for this section has changed since it was translated. Please help resolve this difference. You can:

More information about translations

次に、ブログで使用するデータベースをセットアップしましょう。今は、投稿記事を保存するためのテーブルをひとつ作成します。テスト用にいくつかの記事も入れておきましょう。次のSQLをデータベースで実行してください。

/* まず、postsテーブルを作成します。 */
CREATE TABLE posts (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50),
    body TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

/* それから、テスト用に記事をいくつか入れておきます。 */
INSERT INTO posts (title,body,created)
    VALUES ('タイトル', 'これは、記事の本文です。', NOW());
INSERT INTO posts (title,body,created)
    VALUES ('またタイトル', 'そこに本文が続きます。', NOW());
INSERT INTO posts (title,body,created)
    VALUES ('タイトルの逆襲', 'こりゃ本当に面白そう!うそ。', NOW());
  1. /* まず、postsテーブルを作成します。 */
  2. CREATE TABLE posts (
  3. id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  4. title VARCHAR(50),
  5. body TEXT,
  6. created DATETIME DEFAULT NULL,
  7. modified DATETIME DEFAULT NULL
  8. );
  9. /* それから、テスト用に記事をいくつか入れておきます。 */
  10. INSERT INTO posts (title,body,created)
  11. VALUES ('タイトル', 'これは、記事の本文です。', NOW());
  12. INSERT INTO posts (title,body,created)
  13. VALUES ('またタイトル', 'そこに本文が続きます。', NOW());
  14. INSERT INTO posts (title,body,created)
  15. VALUES ('タイトルの逆襲', 'こりゃ本当に面白そう!うそ。', NOW());

テーブル名とフィールド名は適当に選んだわけではありません。Cakeのデータベース命名規約とクラスの命名規約に従っておくと、(どちらも、"CakePHP 規約"の中で説明されています。)たくさんの機能を自由に使うことができ、設定作業をする必要がなくなります。Cakeはフレキシブルなので、最悪な従来型のデータベーススキーマにも対応することができますが、規約に従えば、時間を節約することができます。

詳細は、"CakePHP規約" を参照してください。簡単に言うと、'posts'というテーブル名にしておけば、自動的にPostモデルが呼び出され、'modified'と'created'というフィールドがあると、自動的にCakeが管理するようになります。