sql >> データベース >  >> RDS >> PostgreSQL

Playの変換! MySQLからPostgreSQLへのフレームワークの進化

    データベースが一貫した状態にあることを確認してください。

    以前のMySQLデータベースからデータを移行しておらず、開発モード(本番モードではない)で作業していると仮定すると、データの保存について心配する必要はありません。

    • 移行の名前を1.sqlに戻します。 。以前のデータベースで移行を実行したからといって、完全に新しいデータベースで移行を実行する場合、それが2番目の進化であるという意味ではありません。新しいデータベースの場合、それはまだ最初のデータベースです。
    • 主キー列を次のように宣言します:id bigserial primary key constraintを削除します 。
    • PostgreSQLに空のデータベースがあることを確認してください。データベースを削除して再作成します( dropdb createdb
    • データベース移行を実行し、出力を監視して、移行が実行されたことを確認します。 データベースの進化の管理 を参照してください。 。
    • PgAdminまたは Toad ExtensionforEclipseなどの同様のツールを使用する> データベース構造が正しく作成されたことを確認します。

    または、Flyway であることがわかる場合もあります。 データベース移行へのより包括的なアプローチを提供します。 プラグイン があります PlayFramework用。

    例外を回避するにはError getting sequence nextval 、次のようにエンティティクラス定義に適切に注釈を付けます。

    @Id
    @SequenceGenerator(name="product_gen", sequenceName="product_id_seq", allocationSize=1)
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="product_gen")
    @Column(name="id")
    public Long getId() { return id; }
    

    データベースを調べて、sequenceName PostgreSQLによって作成されたシーケンスの名前です。

    詳細については、以下を参照してください。




    1. 結合されたテーブル列の個別の合計を取得します

    2. PHP、PostgresはRETURNINGの使用を支援します

    3. 未使用の主キーの使用

    4. 必要な属性を持つ製品を入手する