Sinatra mysql
$cd ~/Desktop
$mkdir project-name
$cd project-name
$touch Gemfile
source 'https://rubygems.org'
gem 'activerecord'
gem 'sinatra-activerecord'
gem 'sqlite3'
gem 'rake'
gem 'mysql2'
gem 'dotenv'
$bundle install
require 'sinatra'
require 'sinatra/activerecord'
require 'dotenv/load'
set :database, {
adapter: "mysql2",
host: ENV['MYSQL_HOST'],
database: ENV['MYSQL_NAME'],
username: ENV['MYSQL_USERNAME'],
password: ENV['MYSQL_PASSWORD'],
port: ENV['MYSQL_PORT'],
pool: 50
}
require 'sinatra/activerecord/rake'
require './app'
$rake db:create_migration NAME=create_users_table
class CreateUsersTable < ActiveRecord::Migration[5.0]
def change
create_table :users do |t|
t.string :fname
t.string :lname
t.string :email
t.datetime :created_at
t.datetime :updated_at
end
end
end
$rake db:migrate
#models.rb
class User < ActiveRecord::Base
end
#at the bottom of app.rb
require './models'
$touch db/seeds.rb
#db/seeds.rb
users = [
{fname: 'Jon', lname: 'Doe', email: '[email protected]'},
{fname: 'Jane', lname: 'Doe', email: '[email protected]'}
]
users.each do |u|
User.create(u)
end
$ rake db:seed