Rails On Firebird - you need to check that Firebird
active record adapter and
ruby driver are installed
Install Rails 4.x :
gem install rails
Generate a new Firebird Rails application
rails new firebird_app
delete the generated database.yml sqlite config and use the one from bellow
Be aware about indentation
cat config/database.yml
Edit the project Gemfile and add the activerecord-fb-adapter gem:
gem 'activerecord-fb-adapter'
Then run:
bundle update
rails generate scaffold Client name:string address:string email:string remark:text
rake db:migrate
I have re-read the
ruby guide
so i did these commands while following the official guide
rake db:create
but database was already created in flamerobin
script/generate controller home index
vi app/views/home/index.html.erb
and write something there, start the server with
rails s
and now you can see something in browser
http://localhost:3000/
I have
created the table and one sequence in firebird db
CREATE TABLE posts (
id BIGINT NOT NULL PRIMARY KEY,
name VARCHAR(255),
title VARCHAR(255),
content VARCHAR(255),
timestamps timestamp
);
CREATE sequence POSTS_SEQ;
I have ran the scaffold again to generate the posts model/view/controller
script/generate scaffold Post name:string title:string content:text
and then
started the server
rails s
Of course I have modified the route and
added an link as in tutorial and now i can add and modify blog posts
note: in new rails route is defined this way in config/routes.rb
map.root :controller => "home"
http://localhost:3000/posts
Follow the normal ActiveRecord conventions for table names, primary key columns, etc. The one “extra” you’ll need for Firebird is that you’ll have to create a generator for any tables that require a sequence-based primary key. The default naming convention is TABLENAME_SEQ. So if you have a users table, you would need to create a corresponding USERS_SEQ generator
You don't need to create before insert triggers ! rails reads the value from sequence and then increments it in ruby code, Yay!