mawatari.jp
ウェブエンジニアのメモ帳
  • ブログ
  • ブックマーク
  • 本棚
  • GitHub
  • プロファイル
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby
RSS
2012年10月23日

CakePHPにMigrations Pluginを導入する

mawatari 日記 CakePHP, Migration 1 Comment

CakePHPにMigrations Pluginを導入したときのメモ。
参考リンク:CakeDC / migrations – GitHub

Migrations Pluginの導入

以下は、CakePHPで制作するアプリケーションをGitで管理している場合の手順です。Gitで管理していない場合は、Pluginディレクトリに直接Migrationsのファイル群を設置してください。

Migrations PluginをGitサブモジュールとして追加(ハイライト部分がコマンド)
Shell
1
2
3
4
5
# CakePHPのルートディレクトリへ移動
cd cakephp_root_dir
 
# Migrations PluginをGitサブモジュールとして追加
git submodule add git://github.com/CakeDC/migrations.git app/Plugin/Migrations

Migrations Pluginの設置が完了したら、プラグインのロード設定を行いましょう。

app/Config/bootstrap.phpを編集(130行目あたりにサンプルがあります)
PHP
1
2
3
4
5
// プラグインのロード設定
CakePlugin::load('Migrations');
 
// 配列もOK
CakePlugin::load(array('DebugKit', 'Migrations'));

マイグレーションの生成

マイグレーションの生成は以下の通り。

Migrationを行う(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# CakePHPのルートディレクトリへ移動
cd cakephp_root_dir/
 
# 0. 初めてマイグレーションを実行する場合は、schema_migrationsテーブルを初期化
# (実行しなくても1. でマイグレーションを生成するときに自動的にやってくれますが)
app/Console/cake Migrations.migration run all -p Migrations
 
# 1. 最初のマイグレーションを生成
app/Console/cake Migrations.migration generate
 
# 2. スキーマ情報を変更する前にスキーマ情報をdump
app/Console/cake schema generate
 
# 3. スキーマに変更を加える
 
# 4. マイグレーションを生成
app/Console/cake Migrations.migration generate

2. で取得したスキーマ情報と、現在のデータベース定義の差分をチェックして、マイグレーションファイルを生成してくれます。2〜4を繰り返すことで、スキーマ情報のバージョン管理が行えます。
デフォルトでは、モデルが存在しているものだけを抽出します。全てを対象としたい場合は、 -fオプションを付与しましょう。

マイグレーションの実行

生成されたマイグレーションを全て実行するには以下のコマンドを実行します。

Migrationを行う(ハイライト部分がコマンド)
Shell
1
2
3
4
5
# CakePHPのルートディレクトリへ移動
cd cakephp_root_dir/
 
# マイグレーションを実行
app/Console/cake Migrations.migration run all

その他にも、1つ前のバージョンに戻したり、1つ先のバージョンに進める等、いくつかコマンドが用意されています。GitHubのページに詳しく使い方が掲載されていますので、そちらをご覧ください。
参考リンク:CakeDC / migrations – GitHub

2012年10月22日

Node.jsとWebSocket.IOでチャットアプリを作る

mawatari 日記 Bootstrap, JavaScript, jetstrap, Node.js, WebSocket 1 Comment

  • WebSocket Chat version 0.1
    websocket-chat-01

前回はnvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作るところまで終わりました。今回はNode.jsとWebSocket.IOでチャットアプリを作ってみました。まだ完全に理解できていない部分もありますが、公開します。上記は完成したチャットアプリのキャプチャです。ソースコードはGitHubにもコミットしています。
mawatari / WebSocket-Chat – GitHub

制作環境

ソフトウェアバージョン
Node0.8.12
WebSocket.IO0.2.1

VMware上、LAN上、インターネット上のCentOS6.3で動作確認済み。WebサーバはApache。
クライアントでの確認は以下の通り。
Mac, WindowsのChrome 22, Firefox 16, Safari 6, Opera 12(動作不可), IE 9(動作不可).
iPad2(iOS 5.1.1), new iPad(iOS6), iPhone4~5(iOS6)のSafari, Chrome.
Galaxy S2(Android2.3.3)のブラウザ(動作不可).

続きを読む

2012年10月18日

nvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作る

mawatari 日記 JavaScript, Node.js, WebSocket 4 Comments

Node.jsを用いてWebSocketを利用したアプリケーションを作ってみたいと思います。nvmとNode.jsとWebSocket.IOをインストールして環境を構築しましょう。

nvmって?

nvmはNode Version Managerの略称で、Node.jsの管理周りを補佐してくれる便利なツールです。Rubyで言うところのrvmと言った方が説明が早いでしょうか。複数のバージョンをインストールしたり、それを簡単に切り替えたりすることができます。Node.jsは、頻繁にバージョンアップしていますので、大変便利なツールであります。同様のツールにnaveというものもあります。

nvmとNode.jsのインストール

nvmとNode.jsのインストールは、以下の通りです。GitHubにもインストール方法が提示されています。
参考リンク:creationix / nvm – GitHub

続きを読む

2012年10月17日

fancyBoxで動画再生ができない場合の対応方法

mawatari 日記 fancyBox, iOS, iPad, JavaScript, jQuery 0 Comments

fancyBoxでフローティングウィンドウを生成し、その中のvideoタグで記述された動画を再生しようとしたところ、iPadのSafariではうまく再生できない現象に悩まされました。解決方法をメモしておきます。(iPhoneも同様だったのでiOSと言った方が正確ですが。)

fancyBoxって?

自らを “Fancy jQuery Lightbox Alternative” と名乗るLightboxライクなフローティングウィンドウ系のjQueryライブラリです。画像はもちろんのこと、inline、Ajax、iframe、swf、htmlもサポートしています。
フローティングウィンドウ系のjQueryライブラリは、本当にたくさんの種類があります。どのライブラリもほとんど同じような機能を持っているので、お好みで選択してしまっても問題ないと思います。僕はfancyBoxのiPadでiframeを表示させたときにレイアウトが崩れないところが特に気に入っています。

参考リンク

  • fancyBox – Fancy jQuery Lightbox Alternative
  • fancyBox – GitHub

環境

環境は以下の通りです。

ソフトウェア

ソフトウェアバージョン
fancyBox2.1.2

実行環境

機種OSバージョン
iPad 2 (2011)5.1.1
new iPad (2012)6.0

続きを読む

2012年10月13日

第4回関西PHP勉強会 参加報告

mawatari 勉強会・交流会 CakePHP, PHP, PHPKansai 0 Comments

イベント情報

タイトル第4回関西PHP勉強会
日時2012年10月12日(金)19時20分〜21時30分
定員100人
会場株式会社サイバーエージェント 大阪支社
住所大阪府大阪市北区小松原町2番4号 大阪富国生命ビル18階
告知サイトATND – 第4回関西PHP勉強会
関連サイトKansai PHP Users Group
ハッシュタグ#phpkansai
概要(@shin1x1)「10分で分かる最近のCakePHP」
(@slywalker)「マイグレーションはココが肝」
(@okonomi)「Cookbookの翻訳のこと」
LT1: [初心者枠] (@yamamoto_manabu)「」
LT2: (@tanakahisateru)「いまどきのYiiフレームワーク」
LT3: (@ku_suke)「JavaでPHPをうごかすQuercusを触ってみた。」
LT4: (@omoon)「CakePHP vs FuelPHP」
LT5: (@cakephper)「」
LT6: (@tbsmcd) 「」
LT7: (@papetto_tv) 「CakePHP で作る、シンプルAPIサーバ」

今回のテーマは「いまどきのCakePHP」です。
CakePHP2が登場して早一年。いまどきのCakePHPについて知ってみましょう。

本セッションは、テーマに沿った内容になります。
LT は、テーマに限らず PHP に関する発表になります。

リポート

php-kansai-04-report-01
第4回関西PHP勉強会に参加してきました。
ちょうど出張で大阪にいたので、他エリアのPHP勉強会をのぞきにいってきました。ちょうど勉強を始めたばかりのCakePHPに関するセッションが中心だったので、大変勉強になりました。翻訳作業とか本当に有り難い。僕も何かしらの形で、例えば、プラグインの使い方を記事にするするとか、小さなことでも良いので、オープンソースプロジェクトに貢献してきたいと思います。
懇親会は、会場のサイバーエージェント 大阪支社で。2次会、3次会、4次会と朝までコースでした。
大阪はアツかった!

公開資料

セッション1

@shin1x1 – 10分で分かる最近のCakePHP

10分で分かる最近のCakePHP from Masashi Shinbara

セッション2

@slywalker – マイグレーションはココが肝

CakePHP – The point of upgrade from Yasuo Harada

参加者による報告ブログ

  • 第4回関西PHP勉強会~いまどきのCakePHP~へ行ってきました
  • PHP関西勉強会第4回に参加しました
  • 第4回関西PHP勉強会で発表してきた
«‹ 16 17 18 19›»

フォロー

follow us in feedly
人購読中

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた
  • rbenvでRubyの最新安定版をインストールするワンライナー
  • Ansibleの実行結果を通知する
  • MacにComposerをインストールする

Twitter

@mawatarinさんのツイート

カテゴリー

  • 勉強会・交流会 (56)
  • 日記 (104)

タグクラウド

Ansible Apache AWS Backbone.js baserCMS Bootstrap CakePHP CentOS CSS EC-CUBE facebookアプリ開発 fancyBox FuelPHP Fukuoka.php Git GitHub Homebrew HTML5 iOS JavaScript Jenkins Jenkins実践入門 jQuery Mac MAMP MySQL Node.js OSC PHP PHPMatsuri PhpStorm PHPUnit Rails rbenv Ruby RubyMine SwimmyStudy Tips Twitter Vagrant VMware WordPress Xdebug アジャイル 福岡インフラ勉強会
mawatari.jpのはてなブックマーク数
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた

フォロー

follow us in feedly
人購読中
mawatari.jpのはてなブックマーク数

新着はてなブックマーク

  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

↑

© mawatari.jp 2025
Powered by WordPress • Themify WordPress Themes