※2018年11月頃からプロゲート、ドットインストールを通じ、
HTML、CSS、PHP、MySQL、CakePHPを勉強。
現在はオンラインメンターに師事しつつ、就職時のポートフォリオ制作中。
※主に土日に集中的に制作作業。平日は不明点の整理と消化に充てる。
※このメモは、ポートフォリオ制作途中から、完成までの中での不明点、
解決策、今後の課題等を記載していく場所とします。
■環境(各ツールのver)
AWS Cloud9:無料枠
MySQL:ver5.7.26
CakePHP:ver3.8.2
PHP:ver7.2.19
■やったこと
事前にER図、画面遷移図を作成。
DB設定
CakePHPにてBakeALLを実行。
Bake後のMVCの連携に気をつけつつ、自身の作品への完成を目指す。←イマココ
■MySQLのテーブルに対し事前に設定済みだったforeignkeyが削除できない
alter table users drop foreign key 'user_key';
と打つと
ERROR 1091 (42000): Can't DROP 'user_key'; check that column/key exists
のようにエラーが出た
■解消のしかた
show create table テーブル名
と実行すると下記の結果が出た
mysql> show create table ices \G
*************************** 1. row ***************************
Table: ices
Create Table: CREATE TABLE ices
(
id
int(11) NOT NULL AUTO_INCREMENT,
user_id
int(11) NOT NULL,
manufacturer
varchar(50) NOT NULL,
ice_name
varchar(50) NOT NULL,
ice_fraver
varchar(50) NOT NULL,
price_no_tax
int(5) unsigned NOT NULL,
buy_year
int(4) unsigned NOT NULL,
buy_month
int(2) unsigned NOT NULL,
image_file
varchar(255) DEFAULT NULL,
created
datetime DEFAULT NULL,
modified
datetime DEFAULT NULL,
simple_comment
varchar(20) NOT NULL,
desc_comment
varchar(100) NOT NULL,
repeat_rate
int(11) DEFAULT NULL,
stock_rate
int(11) DEFAULT NULL,
PRIMARY KEY (id
),
KEY ices_ibfk_1
(user_id
),
CONSTRAINT ices_ibfk_1
FOREIGN KEY (user_id
) REFERENCES users
(id
) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4
1 row in set (0.00 sec)
※ices_ibfk_1がこのicesテーブルの外部制約の名前ということになるため
alter table ices drop foreign key ices_ibfk_1;
↑とうつと、
削除できた。
※作業中に気づいた内容の一部抜粋でした。
※ざっくりとなぐりがきのような形となったため、
今後充実させていきます。つたない記事ですみません。
■今後の課題/希望
・この記事はQiitaへの初投稿にはなるが、今後の投稿頻度をどうするか。
・昨日、そして本日の作業後、MVCへの理解は深まったが、具体的な各メソッドへの深堀をする必要がある。
・現在はCakePHPを中心にした制作だが、PHP/MySQLだけでフルスクラッチで何か制作をしたい。
・CakePHPでのフロント部分に対し、制作していく方法の確認。
・AWS Cloud9への画像投稿時のファイル容量の制限はどのくらいなのかを確認する。
・Twitterで流れてくる内容に機械語、基本情報、という単語が目に入るが並行して勉強できるか。
■最後にひとこと
プログラミング、やればやるほど楽しいですね(^^)b