ウェブ、ショウジン

CakePHP 1.2でブログチュートリアル その2

2009-8-18
Category
PHP

続いて、ブログで使用するデータベースのセットアップを行う。

データベースの用意

まず、今回のブログチュートリアル用に新規に「cakeblog」というデータベースを作成する。
MySQLモニターを起動し、以下のコマンドを実行の上、このデータベース(cakeblog)を使用することを宣言する。

<pre lang="mysql">mysql> CREATE DATABASE cakeblog;
Query OK, 1 row affected (0.00 sec)

mysql> USE cakeblog;
Database changed

そして、テーブルをひとつ作成する。テスト用の記事もいくつか用意してINSERTしておく。

テーブル名は「posts」とする。こうしておくと、CakePHPの規約にもとづいて自動的にPostモデルが呼び出される。また、フィールド(カラム)に「modified」と「created」があると、自動的にこの二つのフィールドはCakeが管理してくれるようになる。

postsテーブルを作成

mysql> CREATE TABLE posts (
    -> id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    -> title VARCHAR(50),
    -> body TEXT,
    -> created DATETIME DEFAULT NULL,
    -> modified DATETIME DEFAULT NULL
    -> );
Query OK, 0 rows affected (0.03 sec)

テーブル内容を確認してみる

mysql> desc posts;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| title    | varchar(50)      | YES  |     | NULL    |                |
| body     | text             | YES  |     | NULL    |                |
| created  | datetime         | YES  |     | NULL    |                |
| modified | datetime         | YES  |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+

テスト用データのINSERT

mysql> INSERT INTO posts (title, body, created)
    -> VALUES ('タイトル', 'これは記事本文。', NOW());
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO posts (title, body, created)
    -> VALUES ('タイトル2', '本文だよーん。', NOW());
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO posts (title, body, created)
    -> VALUES ('タイトル3', '本文ほんぶんホンブン', NOW());
Query OK, 1 row affected (0.00 sec)

データが入ったか確認

mysql> SELECT id, title, body, created, modified FROM posts;
+----+-----------------+--------------------------------+---------------------+----------+
| id | title           | body                           | created             | modified |
+----+-----------------+--------------------------------+---------------------+----------+
|  1 | タイトル        | これは記事本文。               | 2009-08-15 14:30:10 | NULL     |
|  2 | タイトル2      | 本文だよーん。                 | 2009-08-15 14:30:52 | NULL     |
|  3 | タイトル3      | 本文ほんぶんホンブン           | 2009-08-15 14:31:26 | NULL     |
+----+-----------------+--------------------------------+---------------------+----------+

これでデータベース、テーブル、テスト用データの用意はできた。

次に、データベースの設定を行う。

Cakeのデータベース設定

CakePHPのデータベース設定ファイルは/app/config/にある「database.php」。(ひとつ前のエントリで用意したもの)

コメントで「ここを変更」とした、user(データベースを操作するユーザ名)とpassword(そのパスワード)、およびdatabase_name(データベース名)の部分を適宜変更する。

app/config/database.php

class DATABASE_CONFIG {

    var $default = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user', // ここを変更
        'password' => 'password', // ここを変更
        'database' => 'database_name', // ここを変更
        'prefix' => '',
    );

これでデータベースのセットアップは完了。

前回エントリの最後に残っていた「Cake is NOT able to connect to the database.」というメッセージも、ブラウザをリロードすると「Cake is able to connect to the database.」に変化した。

Categories

Tag Cloud

AdMob Android Apache centos CodeIgniter EC-CUBE facebookアプリ facebookページ feed Firefox Flash google googleanalytics htaccess iPad iPhone JavaScript lamp mobile nginx ogp pear php plugin rollover rss sendmail setting smarty ssh Titanium Mobile Titanium Studio tutorial ubuntu vim VirtualBox vmware vps Windows WordPress xampp youtube さくらインターネット アクセス解析 カスタム投稿