@Mukund To answer your question:
Yes, I used db:migrate to build the database, then I used phpmyadmin
to see what the result was, I'm new to rails programming and thought
it would be useful to examine the result.
I think I have the connection to the database correct, the problem
appears (to me) to be in the setup before I migrate.
I'm doing the restful_authentication with all the bells & whistles
tutorial. I started over again to go from the beginning. When I get to
the migration I get an error, here's the initial error and the full
trace:
ERROR:
----------------------------
== SetUpFirstAdminUser: migrating
============================================
rake aborted!
An error has occurred, all later migrations canceled:
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.activated_at=
FULL TRACE:
-----------------------------
(in /Users/Me/Sites/RAT2/restful_authentication_tutorial)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== SetUpFirstAdminUser: migrating
============================================
rake aborted!
An error has occurred, all later migrations canceled:
Mysql::Error: Duplicate entry 'userDEV' for key 2: INSERT INTO `users`
(`name`, `salt`, `updated_at`, `activated_at`, `crypted_password`,
`remember_token_expires_at`, `activation_code`, `password_reset_code`,
`enabled`, `invitation_id`, `user_type`, `remember_token`,
`identity_url`, `login`, `email`, `created_at`, `invitation_limit`)
VALUES('', '1a9bde41a2d6d664d03e32676c479a07f301d2a6', '2009-09-20
16:23:19', NULL, 'b984b8c4f7258b854fab69f85c8b2a95116b41c9', NULL,
'1194519fe5c980f38f0d8ffd77f2c8b94625af2b', NULL, 1, NULL, 'SiteUser',
NULL, NULL, 'userDEV', NULL, '2009-09-20 16:23:19', 5)
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/plugins/
rows_logger/init.rb:36:in `log'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:
320:in `execute_without_analyzer'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/plugins/
footnotes/lib/rails-footnotes/notes/queries_note.rb:104:in
`execute_without_query_stats'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activesupport/lib/active_support/core_ext/benchmark.rb:10:in
`realtime'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/plugins/
footnotes/lib/rails-footnotes/notes/queries_note.rb:104:in
`execute_without_query_stats'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/plugins/
query_stats/lib/query_stats/recorder.rb:16:in `execute'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activesupport/lib/active_support/core_ext/benchmark.rb:10:in
`realtime'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/plugins/
query_stats/lib/query_stats/recorder.rb:15:in `execute'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/connection_adapters/abstract/
database_statements.rb:259:in `insert_sql'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:
330:in `insert_sql'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/connection_adapters/abstract/
database_statements.rb:44:in `insert_without_query_dirty'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/connection_adapters/abstract/
query_cache.rb:18:in `insert'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/base.rb:2902:in
`create_without_timestamps'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/timestamp.rb:29:in
`create_without_callbacks'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/callbacks.rb:266:in `create'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/base.rb:2868:in
`create_or_update_without_callbacks'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/callbacks.rb:250:in `create_or_update'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/base.rb:2539:in
`save_without_validation'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/validations.rb:1009:in
`save_without_dirty'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/dirty.rb:79:in
`save_without_transactions'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/transactions.rb:229:in `send'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/transactions.rb:229:in
`with_transaction_returning_status'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/connection_adapters/abstract/
database_statements.rb:136:in `transaction'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/transactions.rb:182:in `transaction'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/transactions.rb:228:in
`with_transaction_returning_status'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/transactions.rb:196:in `save'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/transactions.rb:208:in
`rollback_active_record_state!'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/transactions.rb:196:in `save'
./db/migrate//20080806025753_set_up_first_admin_user.rb:9:in
`up_without_benchmarks'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:282:in `send'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:282:in `migrate'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/
1.8/benchmark.rb:293:in `measure'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:282:in `migrate'
(__DELEGATION__):2:in `__send__'
(__DELEGATION__):2:in `migrate'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:486:in `migrate'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:562:in `call'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:562:in `ddl_transaction'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:485:in `migrate'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:472:in `each'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:472:in `migrate'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:400:in `up'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
activerecord/lib/active_record/migration.rb:383:in `migrate'
/Users/Me/Sites/RAT2/restful_authentication_tutorial/vendor/rails/
railties/lib/tasks/databases.rake:116
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in
`invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/
1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in
`invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in
`invoke_task'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
`standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
`standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
-----------------------------------------
Here's my SetupFirstAdminUser file, should I change 'settings' in the
user.email line? What goes there?
------------------------------------------------------------------
class SetUpFirstAdminUser < ActiveRecord::Migration
def self.up
#Be sure to change these settings for your initial admin user
user = SiteUser.new
user.login = "userDEV"
user.email = APP_CONFIG['settings']['[email protected]']
user.password = "mypassword"
user.password_confirmation = "mypassword"
user.save(false)
role = Role.new
#Admin role name should be "admin" for convenience
role.name = "admin"
role.save
admin_user = SiteUser.find_by_login("admin")
admin_role = Role.find_by_name("admin")
admin_user.activated_at = Time.now.utc
admin_user.roles << admin_role
admin_user.save(false)
end
def self.down
admin_user = User.find_by_login("admin")
admin_role = Role.find_by_name("admin")
admin_user.roles = []
admin_user.save
admin_user.destroy
admin_role.destroy
end
end
On Sep 18, 2:31 am, Mukund <[email protected]> wrote:
> @Kevin. Did you use rake db:migrate to build your database? I think
> hemidull was recommending to drop the schema and redo it. But if you
> are building your database externally, then the error shown above
> means that the table doesn't exist. If table does exist, it means
> your database.yml configuration file is pointing to the wrong schema.
>
> On Sep 18, 8:32 am,KevinM <[email protected]> wrote:
>
> > Would deleting the user through phpmyadmin be the best way of dropping
> > the database or do I need to delete the database file altogether?
>
> > On Sep 17, 11:10 pm, heimdull <[email protected]> wrote:
>
> > > If this is your dev environment I would drop the database and just do
> > > a clean new rake db:migrate. It's trying to insert the user devuser
> > > that I'massuming is already in the database or your migration files
> > > tries to insert the user twice... hard to say without the full --trace
> > > output from the command...
>
> > > Try to drop the db and re-run the migration that would be what I would
> > > do..
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---