ええ、私はこれをしました。それを研究するにあたり、私は彼らがそれをお勧めしないところで、Pro ASP.Net 4.0を見ました。それは、スクリプトの実装がフレームワークのバージョンによって異なる可能性があるということです。それは良いアドバイスかもしれない...またはそれは過激かもしれません。
私はRedGate Compareを使用し終えた時点で構造とデータを比較しましたが、結果と異なるものは見つかりませんでした...したがって、正常に動作すると思います... YMMV。
これを行うには、新しいデータベースを作成し、aspnet_regsqlを実行しました。 VS2010で新しいデータベースプロジェクトを作成し、そのデータベースをインポートしました。新しいプロジェクトのスキーマオブジェクトディレクトリにあるすべてのファイルをコピーして、既存のデータベースプロジェクトのスキーマオブジェクトディレクトリにドロップしました。私は古いプロジェクトを開き、プロジェクトメニューからすべてのファイルを表示してから、すべての新しいファイルをプロジェクトに含めました。
また、新しいプロジェクトのDatabase.sqlpermissionsファイルからすべてのデータベースアクセス許可をコピーする必要があります。
最後に、これを展開後のスクリプトに追加する必要があります。
-- Add 6 rows to [dbo].[aspnet_SchemaVersions]
IF NOT EXISTS (SELECT * FROM [dbo].[aspnet_SchemaVersions] WHERE [Feature] = (N'common') AND [CompatibleSchemaVersion] = N'1')
BEGIN
INSERT INTO [dbo].[aspnet_SchemaVersions] ([Feature], [CompatibleSchemaVersion], [IsCurrentVersion]) VALUES (N'common', N'1', 1)
END
IF NOT EXISTS (SELECT * FROM [dbo].[aspnet_SchemaVersions] WHERE [Feature] = (N'health monitoring') AND [CompatibleSchemaVersion] = N'1')
BEGIN
INSERT INTO [dbo].[aspnet_SchemaVersions] ([Feature], [CompatibleSchemaVersion], [IsCurrentVersion]) VALUES (N'health monitoring', N'1', 1)
END
IF NOT EXISTS (SELECT * FROM [dbo].[aspnet_SchemaVersions] WHERE [Feature] = (N'membership') AND [CompatibleSchemaVersion] = N'1')
BEGIN
INSERT INTO [dbo].[aspnet_SchemaVersions] ([Feature], [CompatibleSchemaVersion], [IsCurrentVersion]) VALUES (N'membership', N'1', 1)
END
IF NOT EXISTS (SELECT * FROM [dbo].[aspnet_SchemaVersions] WHERE [Feature] = (N'personalization') AND [CompatibleSchemaVersion] = N'1')
BEGIN
INSERT INTO [dbo].[aspnet_SchemaVersions] ([Feature], [CompatibleSchemaVersion], [IsCurrentVersion]) VALUES (N'personalization', N'1', 1)
END
IF NOT EXISTS (SELECT * FROM [dbo].[aspnet_SchemaVersions] WHERE [Feature] = (N'profile') AND [CompatibleSchemaVersion] = N'1')
BEGIN
INSERT INTO [dbo].[aspnet_SchemaVersions] ([Feature], [CompatibleSchemaVersion], [IsCurrentVersion]) VALUES (N'profile', N'1', 1)
END
IF NOT EXISTS (SELECT * FROM [dbo].[aspnet_SchemaVersions] WHERE [Feature] = (N'role manager') AND [CompatibleSchemaVersion] = N'1')
BEGIN
INSERT INTO [dbo].[aspnet_SchemaVersions] ([Feature], [CompatibleSchemaVersion], [IsCurrentVersion]) VALUES (N'role manager', N'1', 1)
END