fuelphpでscaffoldとmigrationする
tbl
fuel/app/migrations/番号_マイグレーションファイル.php
scaffold
php oil g scaffold monkey name:string description:text
migration
php oil refine migrate
そうすっと
mysql> desc monkeys; +-------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+---------+----------------+ | id | int(11) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(255) | NO | | NULL | | | description | text | NO | | NULL | | | created_at | int(11) | YES | | NULL | | | updated_at | int(11) | YES | | NULL | | +-------------+------------------+------+-----+---------+----------------+
こんな感じのテーブルが作られる。
scaffoldの引数をもう少し知っておきたい, 個人レベルだと数値とtextだけあれば十分かな。 バリデーションとか考えるともう少し知っておいた方が良いんだろうけど。
変更(ALTER)したい時は
oil generate migration add_{コラム名}_to_{テーブル名} <fieldname1>:<type1>
favoriteカラムをmonkeysTBLにtext型で追加してみる
php oil generate migration add_favorite_to_monkeys favorite:text php oil refine migrate
出来た。 その他tbl操作はリンク先で大体出来そう。
fuelphpに適用したtwitterbootstrapをレスポンシブにする
fuelphp1.6で確認済み。
scaffoldでテンプレートを作った場合
fuel/app/views/template.php
を読み込んでるのでここに
<meta name="viewport" content="width=device-width" /> <?php echo Asset::css('bootstrap-responsive.min.css'); ?>
これを足してやる。
これでOK
息子は電車が大好で車に興味が無い
fuelphpの環境をaws上に構築(でハマった所)
以前はsqaleを使っていたので素の環境から作ろうとすると意外とはまる。
こういう所はvagrantなりchefなりでなんとかするべきなんだろうな。
環境はAMI。amazonのデフォルト。 fuelphp1.6 apacheの設定で
ドキュメントルートのディレクティブに
AllowOverride All
これがを書いてなかったからルーティングされなかった。
むむー。
twitterbootstrapをスマホ対応する時に必要なmetaタグ
いつも忘れる。
<meta name="viewport" content="width=device-width" />
これでおk
rackupからsinatraを起動する
# coding: utf-8 # sinatra関連とactiverecord, mysqlのライブラリを読み込み require 'rubygems' require 'bundler' require 'sinatra' require 'sinatra/reloader' require 'active_record' require 'mysql2' # rackが起動するrubyアプリケーション # sinatra単体ならruby app.rbで起動してる require './app.rb' # 解らん run Sinatra::Application
app.rbはいつも通り
get / do p "Hello, world!" end
rack起動
bundle exec rackup -o 127.0.0.1
いつもの事ではあるが bundlerが指定したgemを使って起動する。
bundlerでgemをインストールする時のメモ(インストール先指定とか)
gemのインストールを管理してくれるbundlerがとっても便利なんだけど。 sinatraみたいな軽量な物を使うときにシステムのgem領域を汚したくない。とか 複数アプリケーションを動かすなんて事もざらに有るとおもう。
そういう時は
bundle install --path gems
ってするとGemfileと同じディレクトリに
gems
っていうディレクトリが出来上がってそこにインストールされる。 bundlerは賢いから次からbundle installする時は--pathのオプションが不要になる。 上記と同じディレクトリに
.bundle/config
っていうファイルが出来上がってそこに書き込まれる。
bundle list
でインストール済みが確認出来る。