postgresからの既存のテーブルダンプに基づく続編で移行を作成するための最良の方法を考えています。テーブル/関数/シーケンスを削除するために自分でdownメソッドを作成する必要があることを認識していますが、既存のSQLスクリプトをロードしてスクリプト内のすべてを実行するように、後続の移行を指示する方法はありますか?
編集:不明確な場合に備えて、これはrubySequelSQLライブラリ/gemを使用しています
postgresからの既存のテーブルダンプに基づく続編で移行を作成するための最良の方法を考えています。テーブル/関数/シーケンスを削除するために自分でdownメソッドを作成する必要があることを認識していますが、既存のSQLスクリプトをロードしてスクリプト内のすべてを実行するように、後続の移行を指示する方法はありますか?
編集:不明確な場合に備えて、これはrubySequelSQLライブラリ/gemを使用しています
テーブルダンプから移行を作成することはありませんが、Sequelのschema_dumper拡張機能を使用して簡単に移行を作成できます。続編のコマンドラインプログラムには、実際にはこれに対する組み込みのサポートがあります。
続編-dpostgres:// postgres @ localhost / mydb> 001_initial_migration.rb
これはデータベースに依存しない移行を生成するように設計されているため、関数またはシーケンスのダンプはサポートされていません。
関数とカスタムシーケンスを使用している場合は、完全にデータベース固有の領域にいるため、データベースのツールを使用する方がよい場合があります。
PostgreSQLコマンドラインクライアントでSQLスクリプトを実行する方法を尋ねていますか?もしそうなら、答えは--file
オプションを使用することです:
psql -U postgres -d mydb -f dump.sql.
DB.extension :schema_dumper
query = Vydia::DB.dump_schema_migration({:indexes => true, :foreign_keys => true, :index_names => true})
sequelには、db構造を移行ファイルにダンプするためのrubyとして使用できる拡張機能schema_dumper
があります。また、ダンプする対象を指定することもできます。