カスタム コンテンツ タイプの 1 つの名前を変更して、作業中の新しい Orchard モジュール用にその名前を解放できるようにすることを計画しています。この SO answerで提案されているように、移行クラスで Schema.ExecuteSql を使用したいと思っていますが、必要なすべての更新を確実に把握したいと考えています。
これまでのところ、次のテーブルのフィールドを更新する必要があることは理解しています。
- Orchard_Framework_ContentTypeRecord
- Settings_ContentTypeDefinitionRecord
- Settings_ContentPartDefinitionRecord
また、実行する必要がある更新 SQL の一般的な計画は次のとおりです。
DECLARE @From VARCHAR(50) = 'OriginalName'
DECLARE @To VARCHAR(50) = 'NewName'
BEGIN TRANSACTION
BEGIN TRY
UPDATE [Current_Orchard_Framework_ContentTypeRecord]
SET [Name] = @To
WHERE [Name] = @From
UPDATE [Current_Settings_ContentTypeDefinitionRecord]
SET [Name] = @To, [DisplayName] = @To
WHERE [Name] = @From
UPDATE [dbo].[Current_Settings_ContentPartDefinitionRecord]
SET [Name] = @To + 'Part'
WHERE [Name] = @From + 'Part'
--COMMIT TRANSACTION
ROLLBACK TRANSACTION /*Rollback while testing*/
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
コンテンツ タイプの名前を完全に変更するために名前を変更する必要がある、他に不足しているものはありますか?