revision-up-to: | 8961 (1.0) |
---|
Django の以前のバージョンには、もう撤廃された、ドキュメント化されていないコ メントシステムがありました。このフレームワークをリバースエンジニアリングし て使っていたユーザは、新たなコメントシステムに移行する必要があります。この ガイドでは、コメントシステムの移行方法を解説しています。
まず、新旧のコメントシステムの違いを示します:
コメントシステムのデータモデルは、新しいモデルで変更され、テーブルの名前も 代わりました。既存のデータを新たなコメントシステムに移す前に、 クイックスタートガイド に従って新たなコ メントシステムをインストールし、適切なテーブルを生成しておいてください。
データを新たなコメントシステムに移行するには、以下のような SQL を直接実行し てください:
BEGIN;
INSERT INTO django_comments
(content_type_id, object_pk, site_id, user_name, user_email, user_url,
comment, submit_date, ip_address, is_public, is_removed)
SELECT
content_type_id, object_id, site_id, person_name, '', '', comment,
submit_date, ip_address, is_public, approved
FROM comments_freecomment;
INSERT INTO django_comments
(content_type_id, object_pk, site_id, user_id, user_name, user_email,
user_url, comment, submit_date, ip_address, is_public, is_removed)
SELECT
content_type_id, object_id, site_id, user_id, '', '', '', comment,
submit_date, ip_address, is_public, is_removed
FROM comments_comment;
UPDATE django_comments SET user_name = (
SELECT username FROM auth_user
WHERE django_comments.user_id = auth_user.id
) WHERE django_comments.user_id is not NULL;
UPDATE django_comments SET user_email = (
SELECT email FROM auth_user
WHERE django_comments.user_id = auth_user.id
) WHERE django_comments.user_id is not NULL;
COMMIT;
Aug 31, 2012