2012-01-19 31 views
1

バックグラウンドでは、私はsqlite3ローカルデータベースをHerokuのpostgresqlデータベースに移行しようとしています。sqlite3 - データベースファイルを開くことができません

私の(Django)開発サーバーを介してdbにローカルでアクセスすることに問題はありません。しかし、私はHerokuにデータベースをプッシュしようとすると、ファイルを開くことができないと言います。私はGoogleで見てきた

Loaded Taps v0.3.23 
Warning: Data in the app 'my-app-name' will be overwritten and will not be recoverable. 
Failed to connect to database: 
     Sequel::DatabaseConnectionError -> SQLite3::CantOpenException: could not open database: unable to open database file 

ほとんどすべてがタップの以前のバージョンではいくつかのバグに関する:

heroku db:push sqlite://path/to/db --confirm my-app-name 

は、私は、次のメッセージが表示されます。そうでなければ、私はここで何をすべきか分かりません。

私はthis questionなどのアドバイスに従ってアクセス権について試してみましたが、ファイルとフォルダを完全に読み書きすることができます。私はアクセス権にあまり経験がありません - dbの所有権を別のユーザーに切り替える必要がありますか?

答えて

0

sqlite3のデータをdumpdata経由でフィクスチャに保存してから、postgresに切り替えた後、loaddataを使用して再度ロードします。

+0

アイデアが好きですが、私はこれを受け取ります: 'エラー:データベースをシリアル化できません: ' – tchaymore

+0

この時点で、dumpdataに--tracebackフラグを使用してください。外部キーが見つからないようです。 – Martin

1

パス/に/データベースが絶対パスの場合は/、あなたがする必要があります。

heroku db:push sqlite:///path/to/db --confirm my-app-name 

注第三のスラッシュ。また、権限の問題でもあります。その場合、所有者を現在のユーザーに変更するか、少なくともデータベースに読み取り権限を与えます(644)。

関連する問題