wowow RO15で何気なくbonobosを聴いた。懐かしいー。
wowow RO15で何気なくbonobosを聴いた。懐かしいー。
先日作ったrailsアプリtestappをherokuにアップする。
config\environment.rb
RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION ↓ RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION
3)下記2フォルダを削除
testapp\log
testapp\tmp
4)testappディレクトリをtar.gzで圧縮する
Explzhでtgz形式にて圧縮後、拡張子をtar.gzにする
5)herokuに新規アプリケーションを作ってインポート
6)動作確認
アップロードが完了すると、ローカルで作成したアプリケーションのWelcome aboardが表示される。
urlをhttp://cho-test.heroku.com/members/にして見てみる。
動いてるみたいなのでおけ。
ruby script\plugin install git://github.com/adamwiggins/yaml_db.gitではインストールがされない。
githubのyaml_dbからダウンロードしてplugin\yaml_db以下に入れる。(ダウンロードもなぜかnot foundとかになったけど、何回かやったら落とせた)
2)データのダンプ
下記を実行すると、db\data.ymlというファイルができる。
rake db:data:dump
3)herokuにアップ
herokuのedit→dataタブに「Import data.yml」という箇所があるので、「参照」ボタンをクリックして2)のdata.ymlを選択し、「Import」ボタンをクリックする
The uploaded data.yml was imported.
Codeタブで歯車をクリックして「Rake」を選択すると別ウィンドウでRakeコンソールが出てくるので、下記を実行。
db:data:load
4)確認
再度http://cho-test.heroku.com/members/表示してみてデータが入ってれば完了。
1)herokuで新規アプリケーションを作成
My Appsで「Create New App」ボタンをクリック
2)できたアプリケーションを編集する
新規にRailsアプリケーションが作成されて起動されるので、「Edit your app」リンクをクリックする。
3)Edit画面
Railsのフォルダ構成ができていて、各フォルダの中のソースを直接編集が可能。
また、歯車マークをクリックすると「Generate」、「Console」、「Rake」などのコンソールが開け、scaffoldを作成したり、rake:migrateしたりできる。
デフォルトで「untitled-xxxx」のようなアプリケーション名がついていて、左上に表示されているので(画像からは消してある)、それをクリックするとアプリケーションのsetting画面が表示される。
4)アプリケーションの名前を変更
「untitled-xxxx」.heroku.comのテキストを「cho-test」に変更し、「Rename」ボタンをクリックすると、http://cho-test.heroku.com/でアクセスできるようになる。
rails動くbluehostとかherokuが2系なのでもう2にしちゃう。
昨日railsは2.1.2いれたので、アプリを一個つくる。
>rails testapp
ここ参考にscaffoldからやる。
>cd testapp >ruby script\generate scaffold Member name:string age:integer
migrateファイル作ってscaffoldじゃないのでやっぱ慣れない。
testapp\db\migrate以下にmigrateファイルができる。
001_とかじゃなくなって日付なのね。にしては昨日の日付だ。GMTなのけ?
20081114215145_create_members.rbっていうファイル名になっとる。
書式が前と違うけど、まあ分かればいいや。
class CreateMembers < ActiveRecord::Migration
def self.up
create_table :members do |t|
t.string :name
t.integer :age
t.timestamps
end
def self.down
drop_table :members
end
end
dbテーブル作成
>rake db:migrate
rails起動
>ruby script\server
起動はした。
http://localhost:3000/にアクセスして、とりあえず見れる。
http://localhost:3000/members/にアクセスしたらsqllite3がねえって怒られた。
>gem install sqlite3-ruby
エラーになる。
sqlite3-rubyとWindows
最新版(1.2.4)はまだWindowsに対応していないらしく1.2.3をインストールせねばならない。>gem install sqlite3-ruby --version '= 1.2.3'これでOK。
なるほどと。sqlite3は入った。
http://localhost:3000/members/に再度クセス、エラーダイアログがでる。
sqlite3.dllが見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールしなおすとこの問題は解決される場合があります。
なんか・・・、うん、再起動してきます。
・・・再起動してきました。直るかと思ったけどダメっぽいので調べる。
こことかこことかみるとdll持ってきて入れるとかあってなんか悔しいんですけど、ここみて納得。
なんか新しい環境作るときに手順増えるのいやなのー。
まあでもしょうがなさそうなので、SQLiteからsqlite3.exeとsqlite3.dllダウンロードして入れる。system32とか嫌なので、ruby\binに突っ込んだ。これも本当はやだけど。わがままですいません。
mysqlあるんだからそっち使っとけば良かったような気もするけど、database.ymlいじらなくてさくっと動く環境もほしいのでまあいっかー。
で、とりあえず動くようになりますた。
ってか、rake db:migrateするの忘れてたので手順修正。
今おさわり中。
generateしたらバージョン出てきたよ。
ブラウザの開発環境でるってすげいね、これw
ホスティングサーバーで作ったrailsアプリがうごかんので、サーバー側ごにょごにょしてハマって疲弊している時に何を血迷ったのか、動いているローカルのrailsのバージョンをサーバー側にあわせて変えてしまった。
>gem install -v=2.1.2 rails
>rake rails:update
>gem update --system
↓
500 Internal Server Error
今は反省している。
動かないよー。
結城さんのリファクタリングの本に書いてあった「ステップバイステップ」という言葉が身に染みます。
windows環境のrailsにアプリを追加して、
>rake migrate
しようとしたら下記エラー発生。
Client does not support authentication protocol requested by server; consider upgrading MySQL client
なんか前にもみたことあるなあー。
とりあえずぐぐる。
A.2.4. Client does not support authentication protocol エラー
この問題を解決するには、以下のいずれかを行ってください。
【結論】
ユーザー名とパスワード一緒にしたらだめってだけでした。
手抜きしたらあかんね。
#gem install scrapi Bulk updating Gem source index for: http://gems.rubyforge.org/ Successfully installed tidy-1.1.2 Successfully installed scrapi-1.2.0 2 gems installed Installing ri documentation for tidy-1.1.2... Installing ri documentation for scrapi-1.2.0... Installing RDoc documentation for tidy-1.1.2... Installing RDoc documentation for scrapi-1.2.0...
require 'rubygems'
2ちゃんねるファービースレまとめサイト
ファービーが「ナデナデシテー」ってうるさいから
頭の上にマッサージ器あてて死ぬほどナデナデしたら
「ファー...ブルスコ...ファー...ブルスコ...ファ-」ってなった。最初は面白かったんだけど、なんかキモくなったので首元を横から思い切りチョップした
ら
「モルスァ」みたいなこと言いながらすごい勢いで飛んで行った。
ファー、ブルスコー
ファー、ブルスコー
・・・モルスァ・・・!!