問題タブ [database-versioning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
44 参照

plsql - 効果的なデートplsqlパッケージ

レポート目的で PLSQL パッケージを幅広く使用しています。これらのレポート生成パッケージは、毎年初めに変更する必要があります。私は、受け入れテストに必要になる前に 2014 年の変更を提供する方法を探しています (そして、いくつかを一度に提供するのではなく、物事の流れを維持するため)。

2013 と 2014 の両方のパッケージをデータベースに同時にインストールし、有効な日付を使用して、可能であればどちらが呼び出されるかを判断したいと考えています。これは可能ですか?別のアプローチ方法はありますか。さまざまな理由から、これらのパッケージを異なる名前または API で保存する必要があるソリューションを使用することは困難です。

0 投票する
2 に答える
1561 参照

mysql - データベースのバージョン/スキーマではなくデータの変更管理?

あちこちの記事をいくつか読んだ後、開発チームにおけるデータベースのバージョン管理が実際に非常に重要であることに気付きました。

これまでdump whole database、更新があるたびに単純なものを使用してきました.1つのテーブルのみが変更された場合、単一のテーブルをダンプしてから再インポートするだけで済む場合があります. 最高ではありませんが、追加の変更については非常にうまく機能しており、まだ問題はありません.

ここで、.mwb (Mysql Workbench diagram)作業中のプロジェクトの git リポジトリにファイルを保存します。次に、git と一緒にdbv forも使用しますschema management。各ブランチはプロジェクトに基づいて名前が付けられており、非常にうまく機能しています。これにより、元に戻すまたはロールバックする機能を使用して回路図の変更をバージョン管理できます。

ただし、テーブルに含まれるデータはどうでしょうか。これはどのように維持できますか?たぶん、私は古い方法に固執する方が良いでしょう。DB 構造が同じでデータが異なるプロジェクトについては理解していますが、バージョン管理と管理が必要な特定のデータベース データを含むサイトについてはどうでしょうか。

また、データベースの変更が必要な既に展開されているサイトのベースについてはどうでしょうか。これをシームレスにするにはどうすればよいでしょうか。update/alter スクリプトの使用を提案する人もいますが、これはデフォルト値などで問題なく動作します。しかし、すべての Web サイト データベースを変更する必要がある Web サイト プラットフォームに変更を加え、データをそのまま維持した場合はどうなるでしょうか。

0 投票する
1 に答える
145 参照

indexing - neo4j 2.0 での複合固有制約の作成

バージョン管理されたグラフ データベースを作成するために neo4j を使用していますが、データベースに一意の制約を実装するのに問題があります。

次のようなことができるかどうか知りたい

または、バージョン管理されたデータベースの neo4j で一意性制約を実装する方法に関するその他のアイデア。

0 投票する
1 に答える
1309 参照

java - JPA エンティティの履歴データを管理するためのフレームワーク

1、2 年ほど前に、古いリビジョンの JPA データベース データを管理できるフレームワークに出くわしました。各管理対象テーブル TABLE_T に対して、テーブル TABLE_VERSIONED_T が作成され、TABLE_T のデータが変更されるたびに、TABLE_VERSIONED_T にエントリが作成されました。

今では一生、フレームワークの名前を思い出したり、Web 上で見つけたりすることはできません。このトピックを扱った他のいくつかの質問を閲覧しましたが、フレームワークについて言及しているものはありません。

それが何であるかについてのアイデアはありますか?

0 投票する
1 に答える
2805 参照

node.js - mongoose および mongoose-version を使用してエントリを更新する場合の新しいバージョン

mongoose を使用して、mongo データベース内のいくつかのドキュメントのすべてのリビジョンを追跡しようとしています。このため、プラグイン mongoose-version を使用することにしました。

新しいドキュメントを作成してデータベースに追加すると、さまざまなバージョンを格納するコレクションにバージョンが保持されていることがわかります。ただし、ドキュメントを新しいドキュメントで更新すると、ドキュメントを格納するコレクション (最新バージョン) に加えられた変更が表示されますが、バージョン管理されたデータベースに格納された新しいバージョンは表示されません。なぜこれが起こっているのか、何か手がかりはありますか?

これは私のスキーマです:

これは私がユーザーを作成する方法です:

そして、これは私がユーザーの詳細を更新する方法です (基本的に変更できるのは名前だけですが、私が学んでいるデモンストレーション用です)。

私はmongoとmongooseも使用する初心者でもあるので、どんな助けやヒントも大歓迎です。

0 投票する
1 に答える
707 参照

android - 複数の異なる SQLite データベース バージョンを同時に持つことは有害であると考えるべきですか?

各 SQLite テーブルのコード (テーブルの初期構築とそのテーブルに対する操作を含む) を、SQLiteOpenHelper を拡張する個別のクラスに分割しています。

これらのテーブルを作成する (つまり、onCreate() メソッドを呼び出す) には、DATABASE_VERSION をインクリメントする必要があります (詳細については、こちらの回答を参照してください)。

しかし、この方法論では、クラス/テーブルごとに異なるバージョン番号になります。作成した 2 番目のテーブルの DATABASE_VERSION 値を 2 に設定する必要があり、3 番目のテーブルを 3 に設定する必要があります。

そのため、同じ DATABASE (*.db ファイル) に対して複数の異なるバージョン値を使用することになります。それらがすべて同じ値である場合、onUpgrade() メソッドは呼び出されないため、onCreate() メソッドは呼び出されず、新しいテーブルは作成されません。

これは「大丈夫」ですか?複数の異なるバージョン番号を持つデータベースを持っていますか?

私が知っている唯一の他の(合理的な)オプションは、すべてのDBコード(複数のテーブルをカバーする)をSQLiteOpenHelperを拡張する単一のクラスに入れることです-実際にそうするのが好ましい方法ですか?IOW、テーブルごとに 1 つずつ、いくつかのクラスに db コードを分離することは、助けになりますか、それとも妨げになりますか?

アップデート

CommonsWareのアドバイスに従って、SQLiteOpenHelperを拡張するクラスを1つだけ使用して、新しいテーブルを徐々に追加するための私の非破壊的な方法です(「IF NOT EXISTS」をDDLに挿入することによる):

: 新しいテーブルを追加するときはいつでも onUpgrade()/onCreate() が呼び出されるように、DATABASE_VERSION 値を「上げる」(インクリメントする) 必要があります。

0 投票する
2 に答える
6228 参照

liquibase - Liquibase データを正しい順序で生成する方法はありますか?

既存のデータベースのバージョン管理に Liquibase を使用しているので、

変更セット xml を生成するため。

これは機能しますが、問題は、生成された変更セットを実行しようとしたときです。私は得る

子行を追加または更新できません: 外部キー ...' 変更セットのエクスポートされた順序が外部キーを考慮していないためです。

私の質問は次のとおりです。正しい順序で変更セットを生成できるコマンドオプションまたは何かがありますか、それとも変更セットを手動で並べ替えて目的の結果を得る必要がありますか?

アップデート:

通常、外部キーは外部キーの後に作成する必要があります。しかし、私たちのシステムでは、コア アプリケーションがデータベースの構造を作成し、複数のクライアント アプリケーションが同じデータベース内の独自のプライベート データをデータベースに入力しています。また、データを生成しているとき、データ変更セットはデータベース内のテーブルのアルファベット順に生成されます。これは、外部キー制約の可能性があります。変更セットを手動で配置することはできましたが、この特定の状況に対するより適切な回避策があるかどうかを知りたいです。

0 投票する
1 に答える
60 参照

build - 継続的インテグレーションを使用する場合のデータベースのバージョン管理

少なくとも 4 つの異なるアプリケーションで使用される SQL サーバー データベースがあり、これらのアプリケーションのそれぞれに取り組んでいる 4 つの異なるチームがあるという奇妙な状況があります。

これらすべての開発チームで、TFS 2012 を使用した継続的な統合を導入する予定です。

現在、これらのアプリケーションのコードを管理することには問題はありません。問題は、データベースの変更を管理し、バージョンを維持することです。 ただし、主な課題は、各チームが同じデータベースに対して独自の変更セットを持つことができることです。

目的は、特定の時点で、4 つのアプリケーションすべてのアーティファクト (Web とデータベースの両方の変更) を収集し、それらをステージング環境または運用環境にデプロイできるようにすることです。

ご意見をお聞かせください!