Rails Heroku迁移未知错误

时间:2010-05-10 02:11:04

标签: ruby-on-rails authentication migration heroku

我正在努力让我的应用程序在heroku上运行。但是,一旦我迁移,我会收到以下错误:

$ heroku rake db:migrate --trace
rake aborted!
An error has occurred, this and all later migrations canceled:

530 5.7.0 Must issue a STARTTLS command first. f5sm3554179qcg.2
/usr/local/lib/ruby/1.8/net/smtp.rb:576:in `auth_plain'
/usr/local/lib/ruby/1.8/net/smtp.rb:570:in `__send__'
/usr/local/lib/ruby/1.8/net/smtp.rb:570:in `authenticate'
/usr/local/lib/ruby/1.8/net/smtp.rb:410:in `do_start'
/usr/local/lib/ruby/1.8/net/smtp.rb:377:in `start'
/usr/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.5/lib/action_mailer/base.rb:6
82:in `perform_delivery_smtp'
/usr/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.5/lib/action_mailer/base.rb:5
23:in `__send__'
/usr/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.5/lib/action_mailer/base.rb:5
23:in `deliver!'
/usr/local/lib/ruby/gems/1.8/gems/actionmailer-2.3.5/lib/action_mailer/base.rb:3
95:in `method_missing'
/disk1/home/slugs/155328_71d8f62_845e/mnt/app/models/user_observer.rb:3:in `afte
r_create'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/observer.
rb:171:in `send'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/observer.
rb:171:in `update'
/usr/local/lib/ruby/1.8/observer.rb:185:in `notify_observers'
/usr/local/lib/ruby/1.8/observer.rb:184:in `each'
/usr/local/lib/ruby/1.8/observer.rb:184:in `notify_observers'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/callbacks
.rb:357:in `notify'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/callbacks
.rb:350:in `callback'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/callbacks
.rb:267:in `create'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2
874:in `create_or_update_without_callbacks'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/callbacks
.rb:250:in `create_or_update'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2
538:in `save_without_validation'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/validatio
ns.rb:1078:in `save_without_dirty'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/dirty.rb:
79:in `save_without_transactions'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:229:in `send'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:229:in `with_transaction_returning_status'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connectio
n_adapters/abstract/database_statements.rb:136:in `transaction'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:182:in `transaction'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:228:in `with_transaction_returning_status'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:196:in `save'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:208:in `rollback_active_record_state!'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:196:in `save'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:7
23:in `create'
./db/migrate//20080929171348_bort_migration.rb:67:in `up_without_benchmarks'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:282:in `send'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:282:in `migrate'
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:282:in `migrate'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:365:in `__send__'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:365:in `migrate'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:486:in `migrate'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:560:in `call'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:560:in `ddl_transaction'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connectio
n_adapters/abstract/database_statements.rb:136:in `transaction'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/transacti
ons.rb:182:in `transaction'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:560:in `ddl_transaction'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:485:in `migrate'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:472:in `each'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:472:in `migrate'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:400:in `up'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/migration
.rb:383:in `migrate'
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/databases.rake:116
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:636
:in `call'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:636
:in `execute'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:631
:in `each'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:631
:in `execute'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:597
:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:590
:in `invoke_with_call_chain'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:583
:in `invoke'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:205
1:in `invoke_task'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:202
9:in `top_level'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:202
9:in `each'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:202
9:in `top_level'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:206
8:in `standard_exception_handling'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:202
3:in `top_level'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:200
1:in `run'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:206
8:in `standard_exception_handling'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/lib/rake.rb:199
8:in `run'
/home/slugs/155328_71d8f62_845e/mnt/.bundle/gems/gems/rake-0.8.7/bin/rake:31
/usr/local/bin/rake:19:in `load'
/usr/local/bin/rake:19
(in /disk1/home/slugs/155328_71d8f62_845e/mnt)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
==  BortMigration: migrating ==================================================
-- create_table(:sessions)
   -> 0.0197s
-- add_index(:sessions, :session_id)
   -> 0.0114s
-- add_index(:sessions, :updated_at)
   -> 0.0125s
-- create_table(:open_id_authentication_associations, {:force=>true})
   -> 0.0244s
-- create_table(:open_id_authentication_nonces, {:force=>true})
   -> 0.0241s
-- create_table(:users)
   -> 0.0658s
-- add_index(:users, :login, {:unique=>true})
   -> 0.0094s
-- create_table(:passwords)
   -> 0.0141s
-- create_table(:roles)
   -> 0.0237s
-- create_table(:roles_users, {:id=>false})
   -> 0.0029s

我不确定它究竟意味着什么。或者它真的意味着什么。它可能与我的Bort安装有关吗?我确实从中删除了所有open-id的东西。但我在本地迁移时从来没有遇到任何问题。另外在Bort上,Restful Authentication使用我的gmail stmp发送确认电子邮件...我在STARTTLS上执行的google上的所有搜索都与stmp有关。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

您使用GMail发送电子邮件吗?

如果您使用Gmail,则需要执行一些额外步骤,详见Heroku Doc和此blog pos

答案 1 :(得分:0)

开发环境中,您可以添加:

config.action_mailer.raise_delivery_errors = false
config.action_mailer.default_url_options = { :host => 'localhost:3000' }

到文件config/enviroments/development.rb