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

MySQLデータベースでのバージョン管理(Git)の使用

    gitリポジトリ内でデータベースをバックアップできます。もちろん、データをバイナリ形式でgitに配置すると、diff(変更)を使用してデータを効率的に保存するgitの機能がすべて失われます。したがって、一番のベストプラクティスは、データをテキストのシリアル化された形式で保存することです。

    mysqldumpは、これを行うのに役立つ適切なプログラムです。しかし、それは完璧ではありません。何かがアイテムのシリアル化の順序を乱す場合(たとえば、新しいテーブルを作成した結果など)、人工的なブレークが差分に入ります。これにより、ストレージの効率が低下します。変更のみをシリアル化するカスタムシリアライザーを作成することもできますが、その場合、gitがすでに得意とするハードワークを実行しています。 SQLダンプを使用するだけです。

    そうは言っても、あなたがやりたいことは、開発者がデータベースをgitに入れることについて話すときに通常意味することではありません。たとえば、@ egyal(codinghorrorへのリンク )実際にgitに配置されているのは、初期データベースを生成するために必要なスクリプトであることがわかります。データベースデータにクリーンな状態を入力したり、テストデータを入力したりするスクリプトなど、追加のスクリプトが存在する場合があります。このようなSQLスクリプトはすべてテキストファイルであり、mysqldumpから取得するSQLダンプとほぼ同じ形式です。したがって、日常のデータでもそのようにできない理由はありません。



    1. UPDATEデータベースクエリを使用したSQL構文エラー

    2. SQLAlchemyORMを使用した一括挿入

    3. このループで5秒ごとに更新されたオブジェクトカウントが表示されないのはなぜですか?

    4. 1093MySQLテーブルのエラーが2回指定されました