Files
domnitor/database/migrations
Hosteroid a265a58456 Enhance DNS discovery, validation & transfers
Add comprehensive DNS management and input validation, plus safer transfer and logging behavior.

- Add CronHelper utilities for cron scripts and unify logging/formatting.
- Improve InputValidator: sanitizeDomainInput and validateRootDomain (handles multi-level TLDs) and use throughout domain import/create flows to reject subdomains.
- DomainController: refactor DNS refresh to support quick/deep discovery (background deep scans), add endpoints to discover, add/delete/bulk-delete DNS records, import BIND zone files, enrich IP metadata via enrichIpDetails, and strengthen bulk import/reporting messages.
- DnsRecord model: add source column handling (discovered/manual/imported), avoid auto-deleting manual/imported records, and add helpers for deleting, bulk deleting, manual adding and importing zone records.
- Tag, NotificationGroup and Domain transfer logic: unlink groups when ownership changes, remove tags that belong to other users, add audit logging via Logger and improved bulk transfer reporting. TagController/View: show transferable users for admins and skip global tags on transfer.
- Notification channels (Discord, Mattermost, etc.) and EmailHelper: allow explicit subjects and improve payload fields based on notification type.
- Add new migration 029_add_dns_record_source.sql and wire it into the installer; update migrations detection.
- Add new views/partials for confirm/import/transfer modals, update various domain/group/tag templates, and update cron scripts and routes for discovery.

These changes preserve manual/imported DNS records, improve root-domain validation, enable background deep discovery, and add better logging/audit trails for transfers and imports.
2026-03-10 22:54:28 +02:00
..
2025-10-08 18:54:34 +03:00
2025-10-08 14:23:07 +03:00
2025-10-08 14:23:07 +03:00

Database Migrations

Fresh Installation (v1.1.0+)

For new installations, use the consolidated schema:

  • 000_initial_schema_v1.1.0.sql - Complete database schema for v1.1.0

Install via: Web installer at /install

Incremental Migrations (v1.0.0 → v1.1.0)

If upgrading from v1.0.0, these incremental migrations will be applied:

  • 001_create_tables.sql - Core tables (domains, groups, channels, logs)
  • 002_create_users_table.sql - Users table
  • 003_add_whois_fields.sql - WHOIS data fields
  • 004_create_tld_registry_table.sql - TLD registry
  • 005_update_tld_import_logs.sql - Import logs updates
  • 006_add_complete_workflow_import_type.sql - Workflow import type
  • 007_add_app_and_email_settings.sql - Application settings
  • 008_add_notes_to_domains.sql - Domain notes field
  • 009_add_authentication_features.sql - Authentication system
  • 010_add_app_version_setting.sql - Version setting
  • 011_create_sessions_table.sql - Session management table
  • 012_link_remember_tokens_to_sessions.sql - Remember token session linking
  • 013_create_user_notifications_table.sql - User notifications table
  • 014_add_captcha_settings.sql - CAPTCHA settings (v2, v3, Turnstile)
  • 015_create_error_logs_table.sql - Error logging and debugging system
  • 016_add_tags_to_domains.sql - Domain tags for organization
  • 017_add_two_factor_authentication.sql - Two-factor authentication (TOTP)
  • 018_add_user_isolation.sql - User isolation mode settings
  • 019_add_webhook_channel_type.sql - Webhook and Mattermost channel support
  • 020_create_tags_system.sql - Advanced tagging system for domains
  • 021_add_avatar_field.sql - User avatar field
  • 022_add_pushover_channel_type.sql - Pushover notification channel support
  • 023_update_app_version_to_1.1.1.sql - Update version to 1.1.1
  • 024_add_status_notifications_v1.1.2.sql - Status notification triggers
  • 025_add_update_system_v1.1.3.sql - In-app update system
  • 026_update_app_version_v1.1.4.sql - Update version to 1.1.4
  • 027_add_dns_monitoring.sql - DNS monitoring tables and settings
  • 028_add_ssl_monitoring.sql - SSL certificate monitoring table, per-domain toggles, timestamps, and cron settings

Upgrade via: Web updater at /install/update

Migration System

The installer automatically:

  • Detects if this is a fresh install or upgrade
  • Uses consolidated schema for fresh installs
  • Uses incremental migrations for upgrades
  • Tracks executed migrations in migrations table
  • Prevents re-running completed migrations