Datamingle is a fork of Archery, and we retain attribution in accordance with the Apache-2.0 license. Original project copyright and license notices are preserved in this repository.
| Database | Query | Review | Execute | Backup | Data Dictionary | Session Management | Account Management | Parameter Management | Data Archive |
|---|---|---|---|---|---|---|---|---|---|
| MySQL | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| MsSQL | √ | × | √ | × | √ | × | × | × | × |
| Redis | √ | × | √ | × | × | × | × | × | × |
| PgSQL | √ | × | √ | × | × | × | × | × | × |
| Oracle | √ | √ | √ | √ | √ | √ | × | × | × |
| MongoDB | √ | √ | √ | × | × | × | √ | √ | × |
| Phoenix | √ | × | √ | × | × | × | × | × | × |
| ODPS | √ | × | × | × | × | × | × | × | × |
| ClickHouse | √ | √ | √ | × | × | × | × | × | × |
| Cassandra | √ | × | √ | × | × | × | × | × | × |
| Doris | √ | × | √ | × | × | × | √ | × | × |
Public Datamingle demo: coming soon.
Use the Docker and compose files in this repository (src/docker and src/docker-compose).
Existing local Docker data directories from before the Datamingle rename may
still have the application database under the old archery name. Copy that data
into the new datamingle database before starting the renamed stack:
scripts/docker/migrate-archery-db-to-datamingle.shThe script defaults to the local ARM MySQL container, datamingle-mysql. If you
are using src/docker-compose/docker-compose.yml, where the MySQL container is
named mysql, override the container name:
MYSQL_CONTAINER=mysql scripts/docker/migrate-archery-db-to-datamingle.shThe local ARM compose setup can seed demo users, resource groups, and demo database instances for manual UX testing.
Seeded app users:
demo_admin/demo123demo_requester/demo123demo_pm/demo123demo_dba/demo123
See src/docker-compose/LOCAL_DEMO.md for:
- demo login roles and approval chains
- demo MySQL/PostgreSQL instance credentials
- the separate smoke-check command
- reset and reseed instructions
Use this repository as the source of truth: https://github.com/jruszo/Datamingle
Datamingle supports exactly two deployment-level authentication modes:
builtin: local Datamingle username/password authworkos: WorkOS-only login for the deployment
This is controlled with the AUTH_MODE environment variable in .env. A deployment uses one mode at a time.
Use local Datamingle accounts and passwords:
AUTH_MODE=builtinBehavior:
- The SPA login page shows the local username/password form.
- The legacy server-rendered
/login/page also shows the local login form. /authenticate/,/signup/, and/api/auth/token/stay enabled.
Use WorkOS as the only sign-in method for the deployment:
AUTH_MODE=workos
WORKOS_API_KEY=sk_test_or_live_xxx
WORKOS_CLIENT_ID=client_xxx
WORKOS_ORGANIZATION_ID=org_xxx
WORKOS_REDIRECT_URI=https://tenant.datamingle.dev/api/auth/workos/callback/
WORKOS_LOGOUT_REDIRECT_URI=https://tenant.datamingle.dev/login
WORKOS_STAFF_EMAILS=ops@datamingle.dev,admin@datamingle.dev
WORKOS_SUPERUSER_EMAILS=admin@datamingle.devBehavior:
- The SPA login page shows only the WorkOS button.
- The legacy server-rendered
/login/page also shows only the WorkOS button. - Local password login is disabled.
/authenticate/,/signup/, and/api/auth/token/reject password-based login attempts.- Datamingle still keeps its own local
Users, groups, and resource-group assignments after login.
WorkOS setup assumptions in this repo:
- One Datamingle deployment maps to one tenant.
- That deployment uses one fixed WorkOS organization via
WORKOS_ORGANIZATION_ID. - Users are provisioned just-in-time on first successful WorkOS login.
- The local Datamingle account uses the WorkOS email as the username.
WORKOS_STAFF_EMAILSandWORKOS_SUPERUSER_EMAILSare bootstrap allowlists for initial elevated access.
- Create or choose the tenant organization in your WorkOS account.
- Configure the Datamingle application redirect URI in WorkOS:
https://<tenant-host>/api/auth/workos/callback/ - Configure the logout return URL in WorkOS:
https://<tenant-host>/login - Set
AUTH_MODE=workosand the requiredWORKOS_*values in.env. - Rebuild the app container so the
workosPython dependency is installed:
docker-compose -f src/docker-compose/docker-compose.local-arm.yml up -d --build datamingle- Restart the deployment and open
/login/. - Sign in through WorkOS. A local Datamingle user will be created automatically on first login.
AUTH_MODEis deployment-wide, not configurable per request or per organization inside one running instance.- Switching an existing deployment from
builtintoworkosdisables local password login immediately after restart. - WorkOS mode still issues Datamingle JWTs to the SPA after the WorkOS callback completes.
python manage.py test -v 3- Navigation menu metisMenu
- Theme sb-admin-2
- Editor ace
- SQL formatter sql-formatter
- Table bootstrap-table
- Table editing bootstrap-editable
- Dropdown bootstrap-select
- File upload bootstrap-fileinput
- Datetime picker bootstrap-datetimepicker
- Date range picker daterangepicker
- Switch bootstrap-switch
- Markdown rendering marked
- Queue tasks django-q
- MySQL connector mysqlclient-python
- MsSQL connector pyodbc
- Redis connector redis-py
- PostgreSQL connector psycopg2
- Oracle connector cx_Oracle
- MongoDB connector pymongo
- Phoenix connector phoenixdb
- ODPS connector pyodps
- ClickHouse connector clickhouse-driver
- WorkOS auth workos-python
- SQL parse/split/type detection sqlparse
- Serialization simplejson
- Time utilities python-dateutil
- Visualization pyecharts
- MySQL review/execute/backup goInception | inception
- Large table DDL gh-ost | pt-online-schema-change
- MyBatis XML parsing mybatis-mapper2sql
- RDS management aliyun-openapi-python-sdk
- Data encryption django-mirage-field
You can check the roadmap and dependency list in this repository, claim related issues, or submit a PR directly. Thanks for contributing to Datamingle.
Contributions include but are not limited to:
- Wiki documentation (if enabled)
- Bug fixes
- New features
- Code optimization
- Better test coverage
- Usage questions and requirements discussion: Discussions
- Bug reports: Issues
- Archery Datamingle is forked from Archery.
- archer Archery is based on secondary development of archer.
- goInception A MySQL operations tool integrating review, execution, backup, and rollback SQL generation.
- JetBrains Open Source for providing free IDE licenses to this project.

