3

postgresからの既存のテーブルダンプに基づく続編で移行を作成するための最良の方法を考えています。テーブル/関数/シーケンスを削除するために自分でdownメソッドを作成する必要があることを認識していますが、既存のSQLスクリプトをロードしてスクリプト内のすべてを実行するように、後続の移行を指示する方法はありますか?

編集:不明確な場合に備えて、これはrubySequelSQLライブラリ/gemを使用しています

4

3 に答える 3

8

テーブルダンプから移行を作成することはありませんが、Sequelのschema_dumper拡張機能を使用して簡単に移行を作成できます。続編のコマンドラインプログラムには、実際にはこれに対する組み込みのサポートがあります。

続編-dpostgres:// postgres @ localhost / mydb> 001_initial_migration.rb

これはデータベースに依存しない移行を生成するように設計されているため、関数またはシーケンスのダンプはサポートされていません。

関数とカスタムシーケンスを使用している場合は、完全にデータベース固有の領域にいるため、データベースのツールを使用する方がよい場合があります。

于 2012-05-14T16:07:40.137 に答える
-1

PostgreSQLコマンドラインクライアントでSQLスクリプトを実行する方法を尋ねていますか?もしそうなら、答えは--fileオプションを使用することです:

psql -U postgres -d mydb -f dump.sql.
于 2012-05-12T03:29:59.413 に答える
-1
DB.extension :schema_dumper

query = Vydia::DB.dump_schema_migration({:indexes => true, :foreign_keys => true, :index_names => true})

sequelには、db構造を移行ファイルにダンプするためのrubyとして使用できる拡張機能schema_dumperがあります。また、ダンプする対象を指定することもできます。

于 2017-10-13T16:35:35.130 に答える