cakephp環境構築2 データベース作成、BAKE

投稿者: | 2017年10月26日

1 phppgadminでデータベースを作成します。
サーバを選択し、「データベース」を作成するをクリックします。
名前をtest_appとして「作成」をクリックします。
その他の項目は問題があれば後で変更することにします。

2 テーブルを作成します。
作成した、test_appのテーブルを選択し、「テーブルを作成する」をクリックします。
下のテーブル構造のとおりテーブルを作成します。
postgresにはautoinclimentが無いので、idはselialを選択します。

CREATE TABLE users (
id integer NOT NULL,
username character varying(50) NOT NULL,
password character varying(255),
role character varying(20),
created timestamp with time zone,
modified timestamp with time zone
);
作成時idにinteger等を選択してしまった場合、後からselealは選択できないので、シーケンスを作成します。
test_appのシーケンスを選択し、「シーケンスを作成する」をクリックします。
CREATE SEQUENCE users_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
※「postgreSQLでautoincrimentを実装する(https://norm-nois.com/blog/archives/555)」を参考にしました。
3 cakephp DB設定
/test_app/config/app.php
下記セクシクションを書き換えます
‘Datasources’ => [
‘default’ => [
‘className’ => ‘Cake\Database\Connection’,
‘driver’ => ‘Cake\Database\Driver\Postgres’,//postgresql
‘persistent’ => false,
‘host’ => ‘localhost’,
/**
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//’port’ => ‘non_standard_port_number’,
‘username’ => ‘cakeuser’,
‘password’ => ‘*********’,//パスワード
‘database’ => ‘test_app’,
‘encoding’ => ‘utf8’,
‘timezone’ => ‘Asia/Tokyo’,
‘flags’ => [],
‘cacheMetadata’ => true,
‘log’ => false,

4 bakeします。
$cd /var/www/html/test_app/bin/
$./cake bake all users

テーブルのアクセス権がないと
Your database does not have any table
などが表示されます。

ブラウザから、http://(server_ip)/test_app/usersでアクセスします。
New Userで追加など動作を確認します。
以下は動作イメージです。

<広告 (注)以下の書籍は、このページの記載内容とは関係ありません。>

PostgreSQL徹底入門第3版 [ 笠原辰仁 ]

価格:3,542円
(2017/11/24 16:27時点)

PostgreSQL: Up and RunningA Practical Guide to the Advanced Open Source Database【電子書籍】[ Regina O. Obe ]

価格:3,024円
(2017/11/24 16:26時点)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA