私はしばらくの間ローカルで開発を行ってきましたが、現在はすべてを本番環境にプッシュしています。もちろん、Postgres に再構成していないとは考えずに、開発サーバーにもデータを追加していました。
これで、Postgres DB 上のリモート VPS に必要な情報である SQLite DB ができました。
.sql ファイルにダンプしようとしましたが、Postgres から多くの構文に関する苦情を受けています。これを行う最善の方法は何ですか?
私はしばらくの間ローカルで開発を行ってきましたが、現在はすべてを本番環境にプッシュしています。もちろん、Postgres に再構成していないとは考えずに、開発サーバーにもデータを追加していました。
これで、Postgres DB 上のリモート VPS に必要な情報である SQLite DB ができました。
.sql ファイルにダンプしようとしましたが、Postgres から多くの構文に関する苦情を受けています。これを行う最善の方法は何ですか?
2 つのデータベース間のほぼすべての変換のオプションは次のとおりです。
ソース データベースからスキーマのみのダンプを実行します。手動で変換し、ターゲット データベースにロードします。次に、提供される SQL ダンプの最も互換性のある形式で、ソース DB からデータのみのダンプを実行します。それをターゲットDBにロードしてみてください。問題が発生した場合は、sed/awk/perl/whatever を使用してダンプへの変換をスクリプト化し、再試行してください。ロードして結果が一致するまで繰り返します。
(1)のように、スキーマを手動で変換します。次に、両方のデータベースに接続し、一方から SELECT し、もう一方に INSERT するスクリプトを好みの言語で作成します。データ型と表現の変換が必要になる場合があります。
Talend や Pentaho などの ETL ツールを使用して、両方のデータベースに接続し、それらの間で変換します。ETL ツールは、(2) の「他の誰かが既に書いた」バージョンのようなものですが、ある程度の学習が必要になる場合があります。
事前に作成された変換も見つけられることを願っています。sequel
SQLite -> PostgreSQL で動作するHeroku one が呼び出されました。Heroku なしで利用でき、他のすべての Heroku インフラストラクチャとコードなしで機能できますか?
これらのいずれかの後、setval()
シーケンスを初期化するために使用するようないくつかの転送後の手順が通常必要です。