I'm going to start removing relationships and data-entry during the migration, but where's this nil object coming from?
Is it because of the relationship, or is there something wrong with the
way data is entered during the migration? I'm not seeing what would
introduce the nil object ![]()
thufir@arrakis ~/goodfellow-tool $ thufir@arrakis ~/goodfellow-tool $ thufir@arrakis ~/goodfellow-tool $ sqlite3 db/development.sqlite3 SQLite version 3.4.1 Enter ".help" for instructions
.schema
CREATE TABLE schema_info (version integer);
.quit
thufir@arrakis ~/goodfellow-tool $
thufir@arrakis ~/goodfellow-tool $ rake db:migrate VERSION=0
(in /home/thufir/goodfellow-tool)
thufir@arrakis ~/goodfellow-tool $
thufir@arrakis ~/goodfellow-tool $ rake db:migrate
(in /home/thufir/goodfellow-tool)
rake aborted!
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.-@
(See full trace by running task with --trace) thufir@arrakis ~/goodfellow-tool $ thufir@arrakis ~/goodfellow-tool $ cat db/migrate/001_calls.rb -class Calls < ActiveRecord::Migration def self.up create_table "calls" do |call| call.column "login", :string call.column "start", :datetime call.column "comment", :string end
Call.create :login => "0123", :start => "Mon Jan 01 16:00:00 -0800 2007", :comment => "start work"
Call.create :login => "0123", :start => "Mon Jan 01 17:00:00 -0800 2007", :comment => "call received"
Call.create :login => "0123", :start => "Mon Jan 01 19:00:00 -0800 2007", :comment => "call ended"
Call.create :login => "0123", :start => "Mon Jan 01 22:00:00 -0800 2007", :comment => "end work"
Call.create :login => "1234", :start => "Mon Jan 01 22:00:00 -0800 2007", :comment => "start" end
def self.down drop_table "calls" end end thufir@arrakis ~/goodfellow-tool $ thufir@arrakis ~/goodfellow-tool $ cat db/migrate/002_employees.rb class Employees < ActiveRecord::Migration def self.up create_table "employees" do |employee| employee.column "code", :string employee.column "first_name", :string employee.column "last_name", :string end
Employee.create :code => "abc123", :first_name => "John", :last_name => "Doe"
Employee.create :code => "abc321", :first_name => "Jane", :last_name => "Doe" end
def self.down
drop_table "employees"
end
end
thufir@arrakis ~/goodfellow-tool $
thufir@arrakis ~/goodfellow-tool $ cat db/migrate/003_logins.rb
class Logins < ActiveRecord::Migration
def self.up
create_table "logins" do |login|
login.column "login", :string
login.column "employee_id", :string
end
Login.create :login => "0123", :employee_id => "abc123" end
def self.down drop_table "logins" end end thufir@arrakis ~/goodfellow-tool $ thufir@arrakis ~/goodfellow-tool $ cat app/models/call.rb class Call < ActiveRecord::Base belongs_to :login end thufir@arrakis ~/goodfellow-tool $ thufir@arrakis ~/goodfellow-tool $ cat app/models/login.rb class Login < ActiveRecord::Base belongs_to :employee has_many :call end thufir@arrakis ~/goodfellow-tool $ thufir@arrakis ~/goodfellow-tool $ cat app/models/employee.rb class Employee < ActiveRecord::Base has_many :login end thufir@arrakis ~/goodfellow-tool $
thanks,
Thufir