403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/seaside2.pacim.de/web/database/migrations/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/seaside2.pacim.de/web/database/migrations/005_exports_daily_closing_reports.sql
-- Migration 005: Tagesabschluss + zusätzliche Indizes für Exporte und Reports
-- Idempotent: prüft per INFORMATION_SCHEMA, ob Tabelle/Indizes bereits existieren.

USE `pacim_saas`;

-- ---------------------------------------------------------------
-- daily_closings: persistierte Snapshots des Tagesabschlusses
-- ---------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `daily_closings` (
  `id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `closing_date` DATE NOT NULL,
  `event_id` INT UNSIGNED DEFAULT NULL,
  `total_bookings` INT UNSIGNED NOT NULL DEFAULT 0,
  `checked_in_count` INT UNSIGNED NOT NULL DEFAULT 0,
  `checked_out_count` INT UNSIGNED NOT NULL DEFAULT 0,
  `open_payment_count` INT UNSIGNED NOT NULL DEFAULT 0,
  `paid_amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `open_amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `cash_amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `card_amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `bank_transfer_amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `other_amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `total_net` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `total_vat` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `total_gross` DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  `closed_by` VARCHAR(100) DEFAULT NULL,
  `closed_at` DATETIME DEFAULT NULL,
  `note` TEXT,
  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  UNIQUE KEY `closing_date_event` (`closing_date`, `event_id`),
  FOREIGN KEY (`event_id`) REFERENCES `events` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

SET @dbn = DATABASE();

-- ---------------------------------------------------------------
-- Zusätzliche Indizes für Tagesabrechnung und Reports
-- ---------------------------------------------------------------
SET @ix := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
            WHERE TABLE_SCHEMA = @dbn AND TABLE_NAME = 'bookings' AND INDEX_NAME = 'idx_bookings_travel_from');
SET @sql := IF(@ix = 0, 'CREATE INDEX idx_bookings_travel_from ON bookings (travel_from)', 'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;

SET @ix := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
            WHERE TABLE_SCHEMA = @dbn AND TABLE_NAME = 'bookings' AND INDEX_NAME = 'idx_bookings_travel_to');
SET @sql := IF(@ix = 0, 'CREATE INDEX idx_bookings_travel_to ON bookings (travel_to)', 'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;

SET @ix := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
            WHERE TABLE_SCHEMA = @dbn AND TABLE_NAME = 'bookings' AND INDEX_NAME = 'idx_bookings_payment_status');
SET @sql := IF(@ix = 0, 'CREATE INDEX idx_bookings_payment_status ON bookings (payment_status)', 'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;

SET @ix := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
            WHERE TABLE_SCHEMA = @dbn AND TABLE_NAME = 'payments' AND INDEX_NAME = 'idx_payments_method');
SET @sql := IF(@ix = 0, 'CREATE INDEX idx_payments_method ON payments (payment_method)', 'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;

SET @ix := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
            WHERE TABLE_SCHEMA = @dbn AND TABLE_NAME = 'payments' AND INDEX_NAME = 'idx_payments_paid_at');
SET @sql := IF(@ix = 0, 'CREATE INDEX idx_payments_paid_at ON payments (paid_at)', 'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;

-- Fertig.

Youez - 2016 - github.com/yon3zu
LinuXploit