Files

42 lines
2.0 KiB
SQL

-- 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.