
reset-dev-database
by MemoWikis
Wikis for Knowledge Management and Learning :book:
SKILL.md
name: reset-dev-database description: Reset the development MySQL database by copying the test scenario SQL dump to the Docker init directory, replacing the database name from memoWikisTest to memoWikis_dev, and reinitializing the MySQL container. Use this skill when the user wants to reset, recreate, or reinitialize the development database.
Reset Development Database
This skill automates the process of resetting the development MySQL database using the test scenario SQL dump.
What this skill does
-
Copies the SQL dump file: Takes the test scenario dump from
src/Tests/TestData/Dumps/memowikis-test-scenario_tiny.sqland copies it tosrc/Docker/Dev/mysql-init/schema.sql -
Replaces the database name: Changes all occurrences of
memoWikisTesttomemoWikis_devin the schema file -
Reinitializes the MySQL container: Stops the Docker containers, removes the MySQL data directory, and restarts the containers
Step-by-step procedure
Step 1: Copy and transform the SQL file
Read the source SQL file and replace the database name:
# Read the SQL dump file
$sqlContent = Get-Content -Path "src/Tests/TestData/Dumps/memowikis-test-scenario_tiny.sql" -Raw
# Replace database name from memoWikisTest to memoWikis_dev
$sqlContent = $sqlContent -replace 'memoWikisTest', 'memoWikis_dev'
# Write to the Docker init directory
$sqlContent | Set-Content -Path "src/Docker/Dev/mysql-init/schema.sql" -Encoding UTF8
Step 2: Reinitialize the MySQL container
Run the following PowerShell commands from the workspace root:
cd ./src/Docker/Dev; `
docker-compose down; `
Remove-Item -Recurse -Force C:\mysql-data\development; `
docker-compose up -d
Important notes
- The MySQL data directory
C:\mysql-data\developmentwill be completely deleted - The MySQL container will automatically execute
schema.sqlduring initialization - The database name in the SQL file must match the
MYSQL_DATABASEvalue in the.envfile (default:memoWikis_dev)
When to use this skill
- When you need to reset the development database to a clean state
- After running the test
ScenarioBuilderTests.Deterministic_Tiny_Scenario()to update the schema - When the database schema has been updated and you need to apply changes
- When the development database is corrupted or in an inconsistent state
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon