This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Alexander Tretyakov (author)
Sat Oct 17 20:51:57 -0700 2009
| name | age | message | |
|---|---|---|---|
| |
README.textile | Sat Oct 17 20:51:57 -0700 2009 | |
| |
Rakefile | Tue Sep 22 09:23:55 -0700 2009 | |
| |
init.rb | Tue Sep 22 09:23:55 -0700 2009 | |
| |
install.rb | Tue Sep 22 09:23:55 -0700 2009 | |
| |
lib/ | Sat Oct 17 06:10:20 -0700 2009 | |
| |
test/ | Tue Sep 22 09:23:55 -0700 2009 | |
| |
uninstall.rb | Tue Sep 22 09:23:55 -0700 2009 |
README.textile
RailsOnPG
This is timesaver for middle/large Rails application which used PostgreSQL as database.
Create/drop Views, Functions, Triggers, Foreign keys in your migrations using ruby syntax.
Installation
script/plugin install git://github.com/alex3t/rails_on_pg.git
Views
create_view :active_patients do |view|
view.select 'p.patient_id as id' ,'p.id as visit_id'
view.from 'patients as p'
view.join 'left join demographics d on d.visit_id=v.id'
view.conditions 'p.status'=>'active','p.name' => 'John' #or "p.status='active' and p.name='John'"
end
Functions
create_function 'format_name', {:returns=>'character varying'}, 'first_name character varying(125)', 'middle_name character varying(15)', "last_name character varying(20)" do
"RETURN COALESCE(last_name, 'no last name') || ', ' || COALESCE(first_name, 'no first name');"
end
Triggers
create_trigger "update_status", :before, "users", "insert","update"
#update status function body here
end
Foreign keys
add_foreign_key :order_items, :product_id, :orders, :on_delete=>""
For more details see rdoc or tests
Todo
Make as gem
Copyright © 2009 Alex Tretyakov, released under MIT license







