機能 #51
完了タスク #48: Djangoプロジェクトの初期セットアップ
既存 riceshop アプリケーションの移行
説明
1 reference/riceshop にある既存のDjangoアプリケーション群を、新しいプロジェクトの apps/riceshop/ 以下に移行し、動作するように修正する。
2
3 対象アプリの洗い出し、settings.py への追加、URL設定の統合などが必要。
吉田 明 さんが約2ヶ月前に更新
- ステータス を 進行中 から 終了 に変更
現在行っているチケット¶
(#48の子)機能 #51 既存 riceshop アプリケーションの移行
作業内容 (下調べフェーズ)¶
既存のriceshopアプリケーションを新しいプロジェクトのapps/riceshop/以下に移行するための下調べを行います。
具体的な移行作業に入る前に、以下の点を中心に調査し、移行計画を策定します。
-
reference/riceshopのファイル構造と内容:- どのファイルがDjangoアプリケーションのコア部分を構成しているか(
models.py,views.py,urls.py,admin.py,apps.pyなど)。 - 各アプリケーションの依存関係。
- テンプレートや静的ファイルがどのように管理されているか。
- どのファイルがDjangoアプリケーションのコア部分を構成しているか(
-
reference/riceshop/configディレクトリの内容:- 既存の
settings.pyやurls.py、wsgi.py、asgi.pyなどがどのように設定されているか。 - 新しいプロジェクトの
configディレクトリとどのように統合すべきか。
- 既存の
-
データベーススキーマの確認:
-
reference/riceshop/migrationsディレクトリの内容を確認し、既存のデータベーススキーマの構成を把握する。 - MySQLからPostgreSQLへの移行パスを検討する(マイグレーションファイルは再生成する必要があるか、データ移行はどのように行うかなど)。
-
-
依存ライブラリの確認:
-
reference/riceshop/requirements.txtやpyproject.tomlが存在する場合、その内容を確認し、必要なPythonライブラリを特定する。
-
今後の作業計画¶
下調べの結果に基づき、具体的な移行計画を策定し、ユーザーに提案します。
ユーザーからの承認とフィードバックを受け、以下の移行計画で作業を進めます。
reference/riceshopは参照用として残し、その内容をapps/riceshop/にコピーします。
既存riceshopアプリケーション移行計画案 (承認済み)¶
目標:
reference/riceshopにある既存のDjangoアプリケーション群を、新しいプロジェクトのapps/riceshop/以下にコピーし、現在の新プロジェクトの環境(Django 6.0、PostgreSQL)で動作するように修正する。
移行計画ステップ:
-
新しい
apps/riceshopディレクトリの準備:- 現在
apps/riceshopにはテスト用の__init__.py,views.py,urls.pyが存在するため、これらは一時的に退避または削除する。 -
reference/riceshopのすべてのDjangoアプリケーションディレクトリ(accounts,cart,common,dashboard,mg_customers,mg_masters,mg_orders,mg_workflow,orders,products,system_settings)を、新しいプロジェクトのapps/riceshop/ディレクトリ配下にコピーする。- 例:
reference/riceshop/accounts→apps/riceshop/accounts
- 例:
- 現在
-
既存
riceshopのトップレベル設定の統合:-
reference/riceshop/config/settings.pyの内容を分析し、新しいプロジェクトのconfig/settings.pyに統合すべき設定(例:INSTALLED_APPSの追加、ミドルウェア、テンプレート設定、静的ファイル設定など)を特定する。 -
reference/riceshop/config/urls.pyの内容を分析し、apps/riceshop内の各アプリケーションのURLを、新しいプロジェクトのapps/riceshop/urls.pyを通じてメインのconfig/urls.pyにincludeするように調整する。- この際、サブドメインルーティングのロジックが既に存在することを考慮する。
-
-
依存ライブラリのインストールとバージョンアップ対応:
-
reference/riceshop/requirements.txtに記載されているライブラリのうち、必要なものをpip installで現在のプロジェクト環境にインストールする。 -
Django==4.2.13からDjango==6.0へのバージョンアップに伴う各アプリケーションのコード修正(models.py,views.py,urls.pyなど)を行う。特に、非推奨になったAPIや変更された振る舞いに対応する。 -
mysqlclientはインストールせず、django-environの設定でPostgreSQLを使用するように調整されていることを確認する。
-
-
データベースマイグレーションの再生成とデータ移行:
-
コピーした各アプリケーションの
migrationsディレクトリ内の既存マイグレーションファイルを削除する。 -
python manage.py makemigrationsを実行し、現在のDjango 6.0環境とPostgreSQL向けに新しいマイグレーションファイルを生成する。 - 必要であれば、既存のMySQLデータからPostgreSQLへのデータ移行計画を検討する(このタスクの範囲外となる可能性が高いが、計画には含める)。
-
コピーした各アプリケーションの
-
テストとデバッグ:
- 各アプリケーションが新しい環境で正しく動作するかをテストする。
- 管理画面 (
/admin/) へのアクセス、各アプリケーションのビューへのアクセスなどを確認する。