カテゴリー
コンピューター

CakePHP2 調べ物するときのスキーマメモ(個人的)

最近 CakePHP2 で調べ物をするときに、アソシエーションのあるテーブルが必要であったり、bake することが多いのでメモしておきます。

メモ内容

  • PHP パス通しと bake コマンド(Windows、XAMPP)
  • テーブル定義のスキーマ

PHP パス通しと bake コマンド

set path=%path%;C:\pleiades\xampp\php
set path=%path%;C:\pleiades\xampp\htdocs\cake\app\Console
path

cd C:\pleiades\xampp\htdocs\cake

php app\Console\cake.php bake all

テーブル定義のスキーマ

 

CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) NOT NULL UNIQUE,
    password CHAR(40) NOT NULL,
    group_id INT(11) NOT NULL,
    created DATETIME,
    modified DATETIME
);

CREATE TABLE groups (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    created DATETIME,
    modified DATETIME
);

CREATE TABLE profiles (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id INT(11) NOT NULL,
    catch_phrase VARCHAR(255) NOT NULL,
    self_introduction TEXT,
    secret1 VARCHAR(255),
    secret2 VARCHAR(255),
    secret3 VARCHAR(255),
    created DATETIME,
    modified DATETIME
);

CREATE TABLE descents (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    profile_id INT(11) NOT NULL,
    job VARCHAR(255),
    address VARCHAR(255),
    secret1 VARCHAR(255),
    secret2 VARCHAR(255),
    secret3 VARCHAR(255),
    created DATETIME,
    modified DATETIME
);

CREATE TABLE posts (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id INT(11) NOT NULL,
    title VARCHAR(255) NOT NULL,
    body TEXT,
    created DATETIME,
    modified DATETIME
);

CREATE TABLE widgets (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    part_no VARCHAR(12),
    quantity INT(11)
);

おわりに

ちなみに、bake コマンドは、PHP で実行しています。

以上です。

コメントを残す