Database & ORM
SnakeFlow auto-detects your ORM or migration tool from project dependencies and shows the relevant actions in the Database menu.
Auto-Detected Frameworks
| Language | Detected tools |
|---|---|
| Node.js | Prisma, Drizzle ORM, TypeORM, Knex |
| Python | Alembic/SQLAlchemy, Django ORM, Tortoise/aerich |
| Go | ent, goose, golang-migrate |
| Rust | Diesel, SeaORM, sqlx-cli |
| PHP | Laravel Artisan, Doctrine Migrations |
| .NET | Entity Framework Core (dotnet ef) |
| Ruby | Rails ActiveRecord (rails db:*) |
| Java | Flyway, Liquibase (Maven & Gradle) |
Custom Actions
Override auto-detection with a fully custom menu:
"devManager.database.actions": [ { "label": "Prisma Studio", "command": "${exec} prisma studio", "icon": "database", "cwd": "${dir}" }, { "label": "Generate Client", "command": "${exec} prisma generate", "icon": "zap", "cwd": "${dir}" }, { "label": "Migrate Dev", "command": "${exec} prisma migrate dev", "icon": "arrow-up", "cwd": "${dir}" }, { "label": "DB Reset", "command": "${exec} prisma migrate reset", "icon": "trash", "cwd": "${dir}", "dangerous": true }]Variable Substitution
| Variable | Expands to |
|---|---|
${exec} | Package manager executor: npx / pnpm exec / yarn / bunx |
${name} | Project name from settings |
${dir} | Absolute project root path |
Action Fields
| Field | Description |
|---|---|
label | Menu item text |
command | Shell command to run |
icon | VS Code codicon name (optional) |
cwd | Working directory (default: project root) |
dangerous | If true, shows a confirmation prompt before running |
Django Example
"devManager.database.actions": [ { "label": "Migrate", "command": "python manage.py migrate", "cwd": "${dir}/backend" }, { "label": "Make Migrations", "command": "python manage.py makemigrations", "cwd": "${dir}/backend" }, { "label": "DB Shell", "command": "python manage.py dbshell", "cwd": "${dir}/backend" }]Rails Example
"devManager.database.actions": [ { "label": "Migrate", "command": "rails db:migrate" }, { "label": "Rollback", "command": "rails db:rollback" }, { "label": "Seed", "command": "rails db:seed" }, { "label": "DB Drop", "command": "rails db:drop", "dangerous": true }]