I’m trying out the mental branch and sqlite3 doesn’t appear to be
creating User objects properly resulting in the following backtrace:-
– add_index(“users”, [“login”], {:unique=>true, :name=>“login”})
-> 0.2646s
– initialize_schema_information()
-> 0.5167s
– columns(“schema_info”)
-> 0.0040s
OK
Creating user ‘admin’ with password ‘radiant’…FAILED
./script/…/config/…/vendor/rails/activerecord/lib/active_record/base.rb:955:in
find_one': Couldn't find User with ID=0 (ActiveRecord::RecordNotFound) from ./script/../config/../vendor/rails/activerecord/lib/active_record/base.rb:941:in
find_from_ids’
from
./script/…/config/…/vendor/rails/activerecord/lib/active_record/base.rb:382:in
find' from ./script/setup_database:179:in
create_admin_user’
from ./script/setup_database:258:in announce' from ./script/setup_database:177:in
create_admin_user’
from ./script/setup_database:20:in run' from ./script/setup_database:9:in
run’
from ./script/setup_database:297
I took the ugly but easy way out which creates a new User object and
saves it twice, which is really what create is supposed to be doing. I
don’t know if it is my sqlite3 setup that is the problem here. I’m
using sqlite3-ruby here …
— script/setup_database (revision 155)
+++ script/setup_database (working copy)
@@ -175,8 +175,8 @@
def create_admin_user
announce “Creating user ‘admin’ with password ‘radiant’” do
-
@admin = User.create :name => 'Administrator', :login =>
‘admin’, :password => ‘radiant’, :password_confirmation => ‘radiant’,
:admin => true
-
@admin = User.find(@admin.id)
-
@admin = User.new :name => 'Administrator', :login => 'admin',
:password => ‘radiant’, :password_confirmation => ‘radiant’, :admin =>
true, :developer => true
-
@admin.save! UserActionObserver.current_user = @admin @admin.created_by = @admin @admin.save