2011-07-06 103 views
1

不知道發生了什麼,所以這裏的全部跟蹤:Heroku db:pull失敗,出現SQLite錯誤?

Receiving schema 
Schema:   0% |           | ETA: --:--:-- 
Schema:   9% |===          | ETA: 00:00:15 
Schema:   18% |=======         | ETA: 00:00:12 
Schema:   27% |===========        | ETA: 00:00:10 
Schema:   36% |===============       | ETA: 00:00:09 
Schema:   45% |==================      | ETA: 00:00:08 
Schema:   54% |======================     | ETA: 00:00:06 
Schema:   63% |==========================    | ETA: 00:00:05 
Schema:   72% |==============================   | ETA: 00:00:04 
Schema:   81% |==================================  | ETA: 00:00:02 
Schema:   90% |=====================================  | ETA: 00:00:01 
Schema:  100% |==========================================| Time: 00:00:15 
Receiving indexes 
schema_migrat: 0% |           | ETA: --:--:-- 
schema_migrat: 100% |==========================================| Time: 00:00:00 
sections:  0% |           | ETA: --:--:-- 
sections:  100% |==========================================| Time: 00:00:00 
tweets:   0% |           | ETA: --:--:-- 
tweets:   33% |=============        | ETA: 00:00:01 
tweets:   66% |===========================    | ETA: 00:00:00 
tweets:  100% |==========================================| Time: 00:00:02 
retweets:  0% |           | ETA: --:--:-- 
retweets:  100% |==========================================| Time: 00:00:00 
Receiving data 
11 tables, 2,200 records 
schema_migrat: 100% |==========================================| Time: 00:00:00 
sections:  100% |==========================================| Time: 00:00:00 
boxes:   100% |==========================================| Time: 00:00:00 
sales_channel: 100% |==========================================| Time: 00:00:00 
users:   100% |==========================================| Time: 00:00:00 
settings:  100% |==========================================| Time: 00:00:00 
admins:  100% |==========================================| Time: 00:00:00 
entries:  100% |==========================================| Time: 00:00:00 
tweets:  100% |==========================================| Time: 00:00:00 
/Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-1.3.3/lib/sqlite3/database.rb:91:in `initialize': SQLite3::SQLException: near ".": syntax error (Sequel::DatabaseError) 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-1.3.3/lib/sqlite3/database.rb:91:in `new' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-1.3.3/lib/sqlite3/database.rb:91:in `prepare' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sqlite3-1.3.3/lib/sqlite3/database.rb:223:in `execute_batch' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/adapters/sqlite.rb:130:in `block (2 levels) in _execute' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/database/logging.rb:28:in `log_yield' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/adapters/sqlite.rb:130:in `block in _execute' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/connection_pool/threaded.rb:71:in `hold' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/database/connecting.rb:226:in `synchronize' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/adapters/sqlite.rb:117:in `_execute' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/adapters/sqlite.rb:87:in `execute_dui' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:552:in `execute_dui' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:243:in `block (2 levels) in import' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:243:in `each' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:243:in `block in import' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/database/query.rb:223:in `_transaction' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/database/query.rb:209:in `block in transaction' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/connection_pool/threaded.rb:84:in `hold' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/database/connecting.rb:226:in `synchronize' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/database/query.rb:207:in `transaction' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:243:in `import' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/data_stream.rb:315:in `import_rows' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/data_stream.rb:142:in `fetch_remote' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:308:in `block in pull_data_from_table' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:301:in `loop' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:301:in `pull_data_from_table' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:284:in `block in pull_data' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:278:in `each' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:278:in `pull_data' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:253:in `block in run' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:203:in `call' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:203:in `catch_errors' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/operation.rb:246:in `run' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/taps-0.3.23/lib/taps/cli.rb:171:in `clientxfer' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/heroku-2.3.6/lib/heroku/command/db.rb:191:in `taps_client' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/heroku-2.3.6/lib/heroku/command/db.rb:59:in `pull' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/heroku-2.3.6/lib/heroku/command.rb:114:in `run' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/gems/heroku-2.3.6/bin/heroku:14:in `<top (required)>' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/bin/heroku:19:in `load' 
    from /Users/justin/.rvm/gems/ruby-1.9.2-p136/bin/heroku:19:in `<main>' 

顯然,這看起來對我來說,有一個在tweets表中的問題,但我不知道它可能是什麼,因爲應用程序的開發工作和在生產中的heroku。

下面是該表的架構:

create_table "tweets", :force => true do |t| 
    t.integer "authorization_id" 
    t.string "name" 
    t.string "screen_name" 
    t.string "uid" 
    t.integer "tid" 
    t.string "tid_string" 
    t.string "text" 
    t.integer "followers_count" 
    t.integer "statuses_count" 
    t.integer "friends_count" 
    t.integer "retweets_count" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    end 

    add_index "tweets", ["authorization_id"], :name => "index_tweets_on_authorization_id" 
    add_index "tweets", ["tid"], :name => "index_tweets_on_tid" 
    add_index "tweets", ["tid_string"], :name => "index_tweets_on_tid_string" 

銳推:

create_table "retweets", :force => true do |t| 
    t.integer "entry_id" 
    t.string "twitter_username" 
    t.datetime "tweet_date" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    t.string "twitter_user_id_str" 
    t.string "name" 
    t.integer "twitter_user_id" 
    t.integer "tweet_id" 
    t.string "tweet_id_str" 
    end 

    add_index "retweets", ["entry_id"], :name => "index_retweets_on_entry_id" 
+0

你的模式是什麼樣的? Sqlite3,PostgreSQL和續集有一些差異。 – ghoppe

+0

這裏是第91行,發生該錯誤https://github.com/luislavena/sqlite3-ruby/blob/v1.3.3/lib/sqlite3/database.rb#L91你的tweets表是什麼樣的?在那裏你不能在別處使用任何東西? –

+0

我已添加模式 – Slick23

回答

0

因此,我今天早上安裝了postgres並嘗試了一個db:pull,但它仍然失敗 - 但是,postgres更具啓發性。這不是retweets表失敗,但authorizations。我錯誤地輸入了一列作爲last__name一段時間後忘了刪除它(我已經添加了last_name)。一旦我將其從數據庫中清除出去,db:pull正在處理sqlite和postgres。

0

我認爲這是在PostgreSQL之間的差異是在Heroku和SQLite造成的。我會切換到PostgreSQL。即使你得到它的工作,你以後可能會遇到問題。

我安裝了PostgreSQL,這很容易。

+0

這就是龍頭寶石的用途。它應該執行與數據庫無關的數據提取。 – Slick23

+0

@最終草案唉,並非所有的差異都被解釋了。過去我曾經遇到過將數據庫遷移到heroku的問題。 – ghoppe

+1

儘管我同意他應該轉向使用Postgres,但這只是側面提到這個問題。我們試着找出問題的根源。 –

相關問題