問題タブ [django-south]

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 投票する
7 に答える
37840 参照

django - モデルを 1 つの django アプリから新しいアプリに移行するにはどうすればよいですか?

4 つのモデルを含む django アプリがあります。これらのモデルの 1 つを別のアプリにする必要があることに気付きました。移行のためにサウスをインストールしましたが、これは自動的に処理できるものではないと思います。モデルの 1 つを古いアプリから新しいアプリに移行するにはどうすればよいですか?

また、本番システムなどを移行できるように、これを繰り返し可能なプロセスにする必要があることに注意してください。

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

django - 競合を伴うdjangoと南への移行(0007_two ...および0007_one)の解決方法は?

django プロジェクトで south を移行ツールとして使用したいのですが、マルチユーザー シナリオで south を使用すると問題が発生します。

異なるマシンで同時に作業している 2 つの開発者が、同じ番号の 2 つの移行を作成します

  • 最初の PC で:0007_extend_lizard.py

  • 2 番目の PC で:0007_swap_name_adopter.py

この場合、実行./manage migrate --mergeまたは./manage migrate 0006(ロールバック) して再度 ./manage migrate実行できます。models.pyしかし、新しいフィールドを追加して実行したい場合./manage startmigration southdemo --auto、南はmodels = {}最後の移行からメタデータを取得し、最初の移行からの情報が欠落しています。この結果、移行 0008 が作成され、最初の 0007 から再び (!!!) 変更が作成されます。

この問題を解決する最善の方法は何ですか?

現在、私は2つのオプションについて考えています:

  • 両方の 0007 移行を手動で 1 つのファイルにマージしてから移行します (ただし、「ロールバック」を実行する必要があります)。

  • models = {}不足しているメタを最後の 0007 移行に手動で移動すると--auto、0008 の次の移行が完全に機能します。

より良いオプションは何ですか? それとも、私が見逃しているものがありますか?

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

mysql - mysqlデータベースをリバースエンジニアリングしてdjangoアプリを作成する

基本的に、phpアプリ(codeigniterフレームワーク)によって作成および使用される既存のmysqlデータベース構造を取得し、それをdjangoアプリにリバースエンジニアリングしたいと思います。これを行うためのツールはありますか?南への移住かも?

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

django - 現在Django「Evolution」を使用していますが、「South」の方が優れており、切り替える価値がありますか?

現在、Django の進化を使用して、製品のデータベースの進化を管理しています。それは完璧ではありませんが、私はその欠陥と一緒に暮らすことを学びました. たとえば、「進化」コマンドは、いくつかの小さな移行で変更されたデータベースを常に進化させるとは限らないため、新しいスキーマを移動する前に、常に本番データベースをテスト用にコピーする必要があります (テストでは、A->B->C を実行しました。ただし、A->C は正しく進化しません。)

サウスはこれらの問題をすべて解決するでしょうか?新しいツールを習得する価値はありますか?

0 投票する
4 に答える
9006 参照

python - サウスを使用して継承を使用して Django モデルをリファクタリングする

Django southで次の移行が可能であり、データを保持できるかどうか疑問に思っていました。

前:

私は現在、テレビと呼ばれる 1 つと映画と呼ばれる 2 つのアプリを持っています。

tv/models.py:

ムービー/models.py:

後:

2 つの videofile オブジェクトは非常に似ているため、重複を取り除き、メディアと呼ばれる別のアプリで新しいモデルを作成します。このアプリには、汎用の VideoFile クラスが含まれ、継承を使用して拡張されます。

メディア/models.py:

tv/models.py:

ムービー/models.py:

だから私の質問は、django-south でこれを達成し、既存のデータを維持するにはどうすればよいですか?

これら 3 つのアプリはすべて、すでに南方の移行によって管理されており、南方のドキュメントによると、スキーマとデータの移行を組み合わせることは推奨されておらず、いくつかの手順で行うことを推奨しています。

このような個別の移行を使用して実行できると思います(media.VideoFileが既に作成されていると仮定します)

  1. 新しい media.VideoFile モデルに移動する tv.VideoFile と movies.VideoFile のすべてのフィールドの名前を変更するためのスキーマの移行 (おそらく old_name、old_size など)
  2. media.VideoFile から継承するための tv.VideoFile および movies.VideoFile へのスキーマの移行
  3. old_name を name に、old_size を size にコピーするなどのデータ移行
  4. old_ フィールドを削除するスキーム移行

私がそのすべての作業を行う前に、それはうまくいくと思いますか? より良い方法はありますか?

興味があれば、プロジェクトはここでホストされています: http://code.google.com/p/medianav/

0 投票する
3 に答える
686 参照

django - django を使用してデータベースの変更を DVCS 経由で簡単に移動できるようにする方法

概要

私はdjangoでウェブサイトを構築しています。人々がフラットページの追加を開始できるようにし、管理者でいくつかの設定を行う必要があります。この情報はクライアントから提供されるため、これらの変更は決定的なものでなければなりません。ただし、バックエンドも開発しているため、テーブルの作成と移行を行っています。これらの変更をハブにプッシュします。

ツール

ジャンゴ

ギット

ポストグル

問題

オンライン サイトから自分のラップトップにデータベースの変更を確実に送信するにはどうすればよいですか? また、必要な調整を最小限に抑えるために、データベースの変更を実際のサイトにプッシュするにはどうすればよいでしょうか? 私は git フックに精通しているので、そのオプションが有効です。

補遺:

管理者から変更できるテーブルを知っていると思います。実際には多くのオーバーラップがあってはなりません。さらに考えてみると、危険なのは、彼らが行ったことを上書きするデータを私がプッシュすることです。

ありがとう。

0 投票する
5 に答える
33355 参照

django - Django に新しいカスタム権限を追加する

次のように、Django モデルでカスタム権限を使用しています。

auth_permission問題は、権限をリストに追加しても、 syncdb を実行してもテーブルに追加されないことです。私は何を間違っていますか。違いがある場合は、データベースの移行に南を使用しています。

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

database - Django で South を使用して、あるモデルから別のモデルにデータを移行するにはどうすればよいですか?

独自の内部投票システムとそれを追跡するための Vote というモデルを備えた Django アプリを作成しました。再利用できるように、投票システムを独自のアプリにリファクタリングしたいと考えています。ただし、元のアプリは運用中であり、すべての投票を取得して別のアプリに移植するデータ移行を作成する必要があります。

2 つのアプリを移行に参加させて、両方のモデルにアクセスできるようにするにはどうすればよいですか? 残念ながら、元のアプリと別のアプリの両方に現在 Vote という名前のモデルがあるため、競合に注意する必要があります。

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

django - 南。データベース全体を移行する

データベース全体を一度に移行するにはどうすればよいですか? south の startmigration コマンドは、単一のアプリケーションでのみ機能します

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

database - 「Djangoアプリケーションの移行」とはどういう意味ですか?

私はここ数日の意味についてよく考え続け、 django-southmigrating a Django appでDjangoアプリを移行することについて聞いた。多分それは十分な英語スキルの欠如(英語は私の母国語ではないので)か、これはプログラマーの生活の中で直面するものの1つであり、非常に単純で、(最初は)それらを理解するには天才が必要です。

私は母国語での「migrate」の翻訳を読み、migrationウィキペディアでの定義を読み、次のように引用してdjango-southの「アイデア」を読みました。

Southでは、それをインストールしてから、1つ以上のアプリにいくつかの移行を行います(手動で書き込むか、モデル定義から自動生成します)。syncdbを実行すると、移行がないアプリ(たとえば、スキーマが固定されているdjango.contrib.authなど)のみが同期されます。次に、。/ manage.py mergeを実行すると、Southが起動します。移行を行います。インテリジェントに。

これは紛らわしいですが、「djangoアプリケーションの移行」または「一般的な移行」の背後にあるすべてをまだ理解していません。単語の解釈の仕方を知っていればわかりますmigration

あなたはポイントを得る、私は願っています。

我慢してください、でも本当に知りたいです。だから多分あなたの一人が私を説明してくれますか。

よろしくお願いします。