【问题标题】:Rails Heroku Migrate Unknown ErrorRails Heroku 迁移未知错误
【发布时间】:2011-02-17 12:05:21
【问题描述】:

我正在尝试在 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 安装有关吗?我确实从中删除了所有开放ID的东西。但是我在本地的迁移从来没有遇到过任何问题。此外,在 Bort 上,Restful 身份验证使用我的 gmail stmp 发送确认电子邮件……我在 STARTTLS 上进行的所有谷歌搜索都与 stmp 有关。有人能指出我正确的方向吗?

【问题讨论】:

  • 你试过用--trace运行吗?
  • 是的。我将结果添加到问题中。看来这与我为 bort 进行的迁移有关。

标签: ruby-on-rails authentication migration heroku


【解决方案1】:

关于开发环境也许你可以添加:

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

到文件config/enviroments/development.rb

【讨论】:

    【解决方案2】:

    您是否使用 GMail 发送电子邮件?

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

    【讨论】:

    • 是的..为什么会导致这种情况?你需要看我的邮件吗?
    猜你喜欢
    • 2015-04-04
    • 1970-01-01
    • 2012-11-11
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 2014-06-17
    相关资源
    最近更新 更多