Debian 4.0 で rake db:migrate に失敗する

公開日: : 最終更新日:2014/02/04 未分類

記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

追記(2009/01/03)

以下の手順で無事にrakeできるようになった。


$ sudo aptitude remove libsqlite3-ruby
$ sudo aptitude remove libsqlite3-ruby1.8
$ sudo gem1.8 uninstall sqlite3-ruby
$ sudo gem1.8 install sqlite3-ruby
$ rake db:migrate
$ rake db:migrate VERSION=0
$ rake db:migrate

Rubyをパッケージではなくローカルでビルドした場合、ライブラリもgemのものを使う必要がある、ということかもしれない。後日検証してみたい。

問題解決には id:Ubuntu, id:takano32, id:showyou が協力してくれた。助かりました。ありがとうございます。

本文

環境は以下の通り。


$ cat /etc/debian_version
4.0
$ uname -a
Linux debian 2.6.18-6-amd64 #1 SMP Wed Oct 15 10:07:11 UTC 2008 x86_64 GNU/Linux
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
$ gem1.8 -v
1.3.1
$ rails -v
Rails 2.2.2
$ rake --version
rake, version 0.8.3

rake db:migrate してみる。


$ rake db:migrate
(in /home/akio0911/svn/akio0911/platform/rails/twitter-analyze)
== 20081219022403 CreateStatuses: migrating ===================================
-- create_table(:statuses)
-> 0.1202s
== 20081219022403 CreateStatuses: migrated (0.1206s) ==========================

== 20090102123714 CreateUsers: migrating ======================================
-- create_table(:users)
-> 0.0739s
-- add_index(:users, :screen_name, {:unique=>true})
-> 0.0662s
== 20090102123714 CreateUsers: migrated (0.1409s) =============================

rake aborted!
Could not find table 'statuses'

詳細なログを確認する。


$ rake db:migrate --trace
(in /home/akio0911/svn/akio0911/platform/rails/twitter-analyze)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke environment** Execute db:schema:dump
rake aborted!
Could not find table 'statuses'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:29:in `table_structure'

schema.rb の生成に失敗しているようだ。

rake db:schema:dump 単体で実行してみる。


rake db:schema:dump
(in /home/akio0911/svn/akio0911/platform/rails/twitter-analyze)
rake aborted!
Could not find table 'statuses'

schema.rb の内容を確認してみる。


$ cat db/schema.rb
ActiveRecord::Schema.define(:version => 20090102123714) do

schema.rb の内容がここで切れてしまっている。さて、どうしたものか・・・。

関連記事

サンフランシスコのピア39にあるチャウダーズでクラムチャウダーを食す!

lolipop アップルの開発者向けイベント「WWDC2014」

ミスドのカルピスドーナツとカルピスポンデリングを食べてみた!

ミスドで期間限定のカルピスコラボ商品「カルピスドーナツ」と「カルピ

十三カレー計画で牛すじカレーネギのせを食す!(大阪・十三)

「iPhoneアプリ開発キャンプ@大阪」のランチで、十三カレー計画

大阪・難波の加寿屋 法善寺でかすうどんを食す。ランチタイムはおにぎり2個まで無料!

大阪・難波の加寿屋 法善寺 (かすうどん KASUYA)で、かす

ライブドアブログで運営していた「あきお商店」を「卵は世界である」に改名しました

少し前からライブドアブログで「あきお商店」というブログをやって

→もっと見る

PAGE TOP ↑