Refactor financial transaction handling: Consolidate Einnahmen and Ausgaben into Buchung model, update routes and UI components, and add new migration scripts for database schema changes.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
-- CreateTable for BuchungKategorie
|
||||
CREATE TABLE `buchung_kategorien` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`companyId` VARCHAR(191) NOT NULL,
|
||||
`name` VARCHAR(191) NOT NULL,
|
||||
`typ` VARCHAR(191) NOT NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `buchung_kategorien_companyId_idx`(`companyId`),
|
||||
UNIQUE INDEX `buchung_kategorien_companyId_name_typ_key`(`companyId`, `name`, `typ`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey for BuchungKategorie
|
||||
ALTER TABLE `buchung_kategorien` ADD CONSTRAINT `buchung_kategorien_companyId_fkey` FOREIGN KEY (`companyId`) REFERENCES `companies`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AlterTable `buchungen` - add new columns
|
||||
ALTER TABLE `buchungen` ADD COLUMN `kategorie` VARCHAR(191) NULL;
|
||||
ALTER TABLE `buchungen` ADD COLUMN `steuersatz` INT NULL;
|
||||
ALTER TABLE `buchungen` ADD COLUMN `zahlungsart` ENUM('KASSE', 'BANK') NULL;
|
||||
ALTER TABLE `buchungen` ADD COLUMN `isBusinessRecord` BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- Add index for isBusinessRecord
|
||||
ALTER TABLE `buchungen` ADD INDEX `buchungen_isBusinessRecord_idx`(`isBusinessRecord`);
|
||||
|
||||
-- Migrate existing data from betriebseinnahmen/betriebsausgaben to Buchung
|
||||
-- This is handled by the post-migration script
|
||||
|
||||
-- AlterTable `betriebseinnahmen` - change kategorie from Enum to String
|
||||
ALTER TABLE `betriebseinnahmen` MODIFY `kategorie` VARCHAR(191) NOT NULL;
|
||||
ALTER TABLE `betriebseinnahmen` MODIFY `steuersatz` INT NOT NULL DEFAULT 0;
|
||||
|
||||
-- AlterTable `betriebsausgaben` - change kategorie from Enum to String
|
||||
ALTER TABLE `betriebsausgaben` MODIFY `kategorie` VARCHAR(191) NOT NULL;
|
||||
ALTER TABLE `betriebsausgaben` MODIFY `steuersatz` INT NOT NULL DEFAULT 0;
|
||||
|
||||
-- Drop old foreign key constraints from buchungen (if they exist from previous migration)
|
||||
-- These will be re-added if needed, but for now we're consolidating
|
||||
|
||||
-- Note: The enum columns EinnahmeKategorie and AusgabeKategorie are automatically
|
||||
-- dropped by Prisma when they're no longer referenced in the schema.
|
||||
Reference in New Issue
Block a user