chore: major project cleanup and restructuring
## Dokumentation - Entfernt AGENTS.md (redundant zu CLAUDE.md) - Verschoben: 3 Dokumentationen von root → docs/ - Gelöscht: 8 historische Migrations-Pläne aus docs/archive/ - Entfernt: misc/ Ordner komplett (43 Dateien) ## Struktur - Erstellt: database/queries/ für SQL Test-Queries (4 Dateien) - Erstellt: database/schemas/ für Schema-Dokumentation (17 Dateien) - output_keys_mapping/ (8 CSV-Mappings) - migration-diagrams/ (4 Diagramme) ## Code-Qualität - Formatiert: 7 Style-Issues in 74 Dateien mit Laravel Pint - Gefixed: Migration für PostgreSQL/SQLite Kompatibilität - Gefixed: 2 fehlgeschlagene Tests (CSRF + Text-Assertion) ## Tests - Alle 73 Tests bestehen jetzt (100% Success Rate) - AuthenticationTest: CSRF-Token Fix für Logout-Test - CompanySearchTest: Text-Assertion aktualisiert ## Ergebnis - Root ist sauber (nur CLAUDE.md) - Dokumentation strukturiert in docs/ - Database-Dateien organisiert in database/ - Code entspricht Style-Guide - Alle Tests bestehen
This commit is contained in:
1 parent
3a54f6cba3
commit
1cb38d7080
46 files changed
+112
-5367
No files matched your search
+58
-31
@@ -12,37 +12,64 @@ return new class extends Migration
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
// Use raw SQL with CASCADE to drop columns and dependent views
|
||||
DB::statement('ALTER TABLE transactions
|
||||
DROP COLUMN IF EXISTS registry_company_number CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_source CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_match_score CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_data CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS genesis_context CASCADE,
|
||||
DROP COLUMN IF EXISTS genesis_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS govdata_data CASCADE,
|
||||
DROP COLUMN IF EXISTS govdata_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS bundesanzeiger_data CASCADE,
|
||||
DROP COLUMN IF EXISTS bundesanzeiger_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS insolvency_data CASCADE,
|
||||
DROP COLUMN IF EXISTS insolvency_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS rss_alerts CASCADE,
|
||||
DROP COLUMN IF EXISTS rss_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS sanctions_data CASCADE,
|
||||
DROP COLUMN IF EXISTS sanctions_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS pep_data CASCADE,
|
||||
DROP COLUMN IF EXISTS pep_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS gleif_lei CASCADE,
|
||||
DROP COLUMN IF EXISTS gleif_data CASCADE,
|
||||
DROP COLUMN IF EXISTS gleif_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS eu_sanctions_data CASCADE,
|
||||
DROP COLUMN IF EXISTS eu_sanctions_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_data CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_status CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_entity_id CASCADE
|
||||
');
|
||||
// Check if we're using PostgreSQL (production) or SQLite (testing)
|
||||
$driver = Schema::getConnection()->getDriverName();
|
||||
|
||||
if ($driver === 'pgsql') {
|
||||
// PostgreSQL: Use raw SQL with CASCADE to drop columns and dependent views
|
||||
DB::statement('ALTER TABLE transactions
|
||||
DROP COLUMN IF EXISTS registry_company_number CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_source CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_match_score CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_data CASCADE,
|
||||
DROP COLUMN IF EXISTS registry_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS genesis_context CASCADE,
|
||||
DROP COLUMN IF EXISTS genesis_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS govdata_data CASCADE,
|
||||
DROP COLUMN IF EXISTS govdata_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS bundesanzeiger_data CASCADE,
|
||||
DROP COLUMN IF EXISTS bundesanzeiger_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS insolvency_data CASCADE,
|
||||
DROP COLUMN IF EXISTS insolvency_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS rss_alerts CASCADE,
|
||||
DROP COLUMN IF EXISTS rss_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS sanctions_data CASCADE,
|
||||
DROP COLUMN IF EXISTS sanctions_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS pep_data CASCADE,
|
||||
DROP COLUMN IF EXISTS pep_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS gleif_lei CASCADE,
|
||||
DROP COLUMN IF EXISTS gleif_data CASCADE,
|
||||
DROP COLUMN IF EXISTS gleif_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS eu_sanctions_data CASCADE,
|
||||
DROP COLUMN IF EXISTS eu_sanctions_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_data CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_last_refreshed_at CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_status CASCADE,
|
||||
DROP COLUMN IF EXISTS handelsregister_entity_id CASCADE
|
||||
');
|
||||
} else {
|
||||
// SQLite: Use Schema Builder to drop columns (if they exist)
|
||||
Schema::table('transactions', function (Blueprint $table) {
|
||||
$columns = [
|
||||
'registry_company_number', 'registry_source', 'registry_match_score',
|
||||
'registry_data', 'registry_last_refreshed_at', 'genesis_context',
|
||||
'genesis_last_refreshed_at', 'govdata_data', 'govdata_last_refreshed_at',
|
||||
'bundesanzeiger_data', 'bundesanzeiger_last_refreshed_at', 'insolvency_data',
|
||||
'insolvency_last_refreshed_at', 'rss_alerts', 'rss_last_refreshed_at',
|
||||
'sanctions_data', 'sanctions_last_refreshed_at', 'pep_data',
|
||||
'pep_last_refreshed_at', 'gleif_lei', 'gleif_data',
|
||||
'gleif_last_refreshed_at', 'eu_sanctions_data', 'eu_sanctions_last_refreshed_at',
|
||||
'handelsregister_data', 'handelsregister_last_refreshed_at',
|
||||
'handelsregister_status', 'handelsregister_entity_id',
|
||||
];
|
||||
|
||||
foreach ($columns as $column) {
|
||||
if (Schema::hasColumn('transactions', $column)) {
|
||||
$table->dropColumn($column);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user