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

DockerizedDjangoアプリ用のMySQLDBのシード

    MySQL(およびPercona Serverなどのバリアント)は、Dockerハブページ

    この手法を使用したDockerfileは次のようになります

    FROM mysql:8
    COPY seed-data.sql /docker-entrypoint-initdb.d/
    

    注:ディレクトリの末尾のスラッシュは重要です。

    docker runを実行するとき このイメージでは、dockerがコンテナーdockerを作成します。 -entrypoint.sh SQLスクリプトを実行すると、コンテナはデータを提供する準備が整います。

    データは、コンテナの再起動(シードデータとその後の変更)を通じて保持されます。

    コンテナを再利用して起動時間を短縮できます。その後のコンテナの起動では、データベースを初期化したり、データをシードしたりする必要はありません。元のデータが必要な場合は、コンテナを削除してdocker run もう一度画像。

    コンテナを削除するときは、dbデータを含むdockerボリュームを削除することを忘れないでください:docker rm -v $CONTAINER_NAME

    このメソッドを使用して、標準データ を提供します 言語/フレームワークPOCおよびCI/CD用。新しいデータベースの初期化と大量のデータのシードには数分かかることがあるため、db接続が正常に確立されるまで、ロジックで自動操作を一時停止する必要があります。

    これがあなたの途中で役立つことを願っています。




    1. MySQLのあるテーブルから別のテーブルにデータを挿入する

    2. タプルはデータベーステーブルに順番に挿入されませんか?

    3. MySQLのSQLでHTTPGETを直接実行できますか?

    4. PostgreSQLの日付から週を引く