Skip to content

Instantly share code, notes, and snippets.

@beccasaurus
Created February 14, 2009 01:18
Show Gist options
  • Save beccasaurus/64200 to your computer and use it in GitHub Desktop.
Save beccasaurus/64200 to your computer and use it in GitHub Desktop.
#! /usr/bin/env ruby
require 'rubygems'
require 'activerecord'
ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => ':memory:'
class CreateStuff < ActiveRecord::Migration
def self.up
create_table( :breeds ){|t| t.string :name }
create_table( :dogs ){|t| t.string :name; t.integer :breed_id }
end
end
CreateStuff.migrate :up
class Breed < ActiveRecord::Base; end
class Dog < ActiveRecord::Base
belongs_to :breed
end
puts Dog.count
Dog.create :name => 'Lander', :breed => Breed.create(:name => 'American Pitbull Terrier')
puts Dog.count
puts "#{ Dog.first.name } is an #{ Dog.first.breed.name }"
=begin
$ ./inline-associations.rb
== CreateStuff: migrating ====================================================
-- create_table(:breeds)
-> 0.0309s
-- create_table(:dogs)
-> 0.0005s
== CreateStuff: migrated (0.0317s) ===========================================
0
1
Lander is an American Pitbull Terrier
=end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment