sudo gem install activerecord
ActiveRecord sem rails… SEO purposes =P
TABELAS SEMPRE NOS PLURAIS
require 'rubygems' require 'active_record' ActiveRecord::Base.establish_connection( :adapter => 'mysql', #sqlite, :database => 'database', :username => 'user', :password => 'password', :host => 'localhost')
aplicativo.rb
require 'rubygems' require 'active_record' require 'yaml' dbconfig = YAML::load(File.open('database.yml')) ActiveRecord::Base.establish_connection(dbconfig)
database.yml
adapter: mysql database: database username: user password: password host: localhost
class Nome_da_tabela_com_letra_maiuscula_plural_ou_nao < ActiveRecord::Base; end puts Nome_da_tabela_com_letra_maiuscula.find 1 class Tabela < ActiveRecord::Base; end Tabela.create(:coluna => "valor", :coluna => "valor") var = Tabela.new var.coluna = "valor" var.coluna = :valor var.save
require 'rubygems' require 'active_record' require 'yaml' require 'logger' dbconfig = YAML::load(File.open('database.yml')) ActiveRecord::Base.establish_connection(dbconfig) ActiveRecord::Base.logger = Logger.new(STDERR) class User < ActiveRecord::Base end puts User.count # SQL (0.000277) SELECT count(*) AS count_all FROM users # 6
ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))
a => append w => overwrite
Problemas com log no arquivo? hehe
ActiveRecord.colorize_logging = false
require 'rake' require 'active_record' require 'yaml' task :default => :migrate desc "Migrar o banco, recebe ENV[VERSION=x]" task :migrate => :environment do ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil ) end task :environment do ActiveRecord::Base.establish_connection(YAML::load(File.open('database.yml'))) ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a')) end
Criar esta pasta!
Repare no 001,002,003! ORDEM!
class Comeco < ActiveRecord::Migration def self.up create_table :users do |t| t.string :name, :null => false t.integer :idade t.boolean :sexo t.date :nasc t.decimal :salario t.float :bonus t.text :historia t.time :agora t.timestamp end end def self.down drop_table :users end end
Segunda migration
class CriaRegras < ActiveRecord::Migration def self.up create_table :roles do |t| t.string :name, :null => false t.integer :valor, :null => false end end def self.down drop_table :roles end end
Carregar todas migrations:
rake
Apagar tudo:
rake VERSION=0
rake VERSION=n
rails.aizatto.com/2007/05/21/activerecord-without-rails/+activerecord+without+rails