すべてのテーブルを削除し、Azure SQLデータベースをリセットする
開発中に時々、データベースをリセットして再作成する必要があります.
特に、Entity Frameworkで動作する場合は、多くのテーブルとキーを変更します.
このため、AzureポータルまたはVisual Studio 2022またはVisual Studioコードから直接クエリとして起動することができますこのSQLスクリプトを作成しました.
下のスクリーンショットで見ることができますように、私は接続されています.
このスクリプトはEntity Framework 6で動作します.
以前のバージョンのefと同じスクリプトを使いたい場合は、移行履歴の名前をチェックしてください.
いくつかのバージョンでは異なりました.
特に、Entity Frameworkで動作する場合は、多くのテーブルとキーを変更します.
このため、AzureポータルまたはVisual Studio 2022またはVisual Studioコードから直接クエリとして起動することができますこのSQLスクリプトを作成しました.
下のスクリーンショットで見ることができますように、私は接続されています.
このスクリプトはEntity Framework 6で動作します.
以前のバージョンのefと同じスクリプトを使いたい場合は、移行履歴の名前をチェックしてください.
いくつかのバージョンでは異なりました.
while(exists(select 1 from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_TYPE='FOREIGN KEY'))
begin
declare @sql nvarchar(2000)
SELECT TOP 1 @sql=('ALTER TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME
+ '] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']')
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
exec (@sql)
PRINT @sql
end
while(exists(select 1 from INFORMATION_SCHEMA.TABLES
where TABLE_NAME != '__EFMigrationsHistory'
AND TABLE_TYPE = 'BASE TABLE'))
begin
--declare @sql nvarchar(2000)
SELECT TOP 1 @sql=('DROP TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME
+ ']')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME != '__EFMigrationsHistory' AND TABLE_TYPE = 'BASE TABLE'
exec (@sql)
/* you dont need this line, it just shows what was executed */
PRINT @sql
end
exec ('DROP TABLE dbo.__EFMigrationsHistory')
Reference
この問題について(すべてのテーブルを削除し、Azure SQLデータベースをリセットする), 我々は、より多くの情報をここで見つけました https://dev.to/kasuken/drop-all-tables-and-reset-an-azure-sql-database-59ooテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol