Difference between revisions of "Rails3"

From DiLab
Jump to: navigation, search
Line 44: Line 44:




= Database =
= Using Mysql for database =
== Using Mysql ==


=== Making a new application ===
=== Making a new application ===
Line 78: Line 79:
template: template0
template: template0


= Reset database =
== Reset database ==


== Reset database contents ==
=== Reset database contents ===
rake db:reset
rake db:reset
rake db:migrate
rake db:migrate
Line 87: Line 88:




== Recreate database structure ==
=== Recreate database structure ===
rake db:drop
rake db:drop
rake db:create
rake db:create
Line 93: Line 94:
or
or
rake db:drop db:create db:migrate
rake db:drop db:create db:migrate


== Database field types ==

{|border=1
! Rails Migration Symbol !! MySQL Data Type
|-
| :binary || blob
|-
| :boolean || tinyint(1)
|-
| :date || date
|-
| :datetime || datetime
|-
| :decimal || decimal
|-
| :float || float
|-
| :integer || int(11)
|-
| :string || varchar(255)
|-
| :text || text
|-
| :time || time
|-
| :timestamp || datetime
|}






Revision as of 16:34, 9 July 2012

Developing for Rails3.

Create a new application

Test your installation by making a test application

rails new tetsApp
cd testApp
rails server

Now check the http://localhost:3000 in your browser.

Nonstop first app

This example is adapted from here

rails new blog
cd blog
bundle install
gedit config/database.yml
rake db:create
rails generate controller home index
gedit app/views/home/index.html.erb

Enter the new web page content:

<h1>Hi there!</h1>

Set up the new root page

rm public/index.html
gedit config/routes.rb

Edit routes, like this

...
root :to => "home#index"
...

Test your server at http://localhost:3000

rails server

Create scaffolding

rails generate scaffold Post name:string title:string content:text
rake db:migrate


Database

Using Mysql

Making a new application

database.yml file

development:

 adapter: mysql2
 encoding: utf8
 database: blog_development
 pool: 5
 username: root<change this>
 password: <change this>
 socket: /tmp/mysql.sock


Using Postgres

Make sure you have pg gem installed (not the old "postgres" gem)

gem install pg

Making a new application

rails -d postgresql my_rails_app

database.yml file

  development:
   adapter: postgresql
   host: localhost
   port: 5432
   username: your_db_username
   password: your_db_password
   database: your_rails_project_development
   schema_search_path: public
   encoding: utf8
   template: template0

Reset database

Reset database contents

rake db:reset
rake db:migrate

or

rake db:reset db:migrate


Recreate database structure

rake db:drop
rake db:create
rake db:migrate

or

rake db:drop db:create db:migrate


Database field types

Rails Migration Symbol MySQL Data Type
:binary blob
:boolean tinyint(1)
:date date
:datetime datetime
:decimal decimal
:float float
:integer int(11)
:string varchar(255)
:text text
:time time
:timestamp datetime


More info

Try this: http://wiki.rubyonrails.org/database-support/postgres

See also RVM