how do I set up a simple sinatra app to use MySQL and ActiveRecord? I found some solutions, but none of them worked (maybe they are outdated):
http://ericfarkas.com/post
You can still use sinatra-activerecord gem with MySQL
and avial other features too.
Following is the way to use it:
require "sinatra/activerecord"
set :database, "mysql2://#{db_username}:#{db_password}@#{db_host}:#{db_port}/#{db_database}"
# Model
class User < ActiveRecord::Base
end
get '/' do
@items = User.all
erb :index
end
This is a dead simple Sinatra-MySQL-ActiveRecord application. It has 2 files:
Gemfile
and app.rb
Gemfile:
source :rubygems
gem 'sinatra', '1.3.1'
gem 'activerecord', '3.2.13'
app.rb
require 'rubygems'
require 'sinatra'
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => "mysql2",
:host => "host",
:username => "user",
:password => "password",
:database => "db"
)
class User < ActiveRecord::Base
end
ActiveRecord::Migration.create_table :users do |t|
t.string :name
end
class App < Sinatra::Application
end
get '/' do
p User.all
end
bundle install
(gem install bundler
if you havent)ruby app.rb
You should read how to insert data using ActiveRecord. In this case, you can manually enter some data to the table from MySQL and see the output.