2016-05-13 8 views
1

Ich stieß auf eine Situation, in der Hunderte von Datenbanktabellen und das Umschreiben in Laravel Migrations nicht scheint ... eine sehr nette Aufgabe.Laravel: +100 Tabellen ... Verwenden Sie Migrationen oder nicht?

weiß ich Laravel Migrationen ist ein wirklich cooles Feature Top-Spur von Datenbankänderungen halten bei einigen VCS eine solche GIT

ABER ... Nicht technisch fällt weg in der Lage, die Datenbank mit php artisan migrate in dem Produktionsserver zu aktualisieren die Verwendung von Migrationen macht es wirklich schmerzhaft ... manuell Tabelle für Tabelle ändern Spalten, Index oder Fremdschlüssel hinzufügen.

FRAGE: Gibt es eine Möglichkeit für Laravel-Migrationen, die Änderungen (SQL-Anweisungen) in eine Datei zu schreiben, anstatt sie direkt in die Datenbank zu schreiben?

+0

Vielleicht können Sie Migrationen in raw SQL laufen? Sie müssen sie also nicht in die Laravel-Syntax http://stackoverflow.com/questions/28787293/run-this-raw-sql-in-migration schreiben –

Antwort

0

Ich habe auf der anderen gleiche Problem oft gekommen, und ich habe die folgenden es

Erster zu lösen, wenn Sie endlich die MySQL-Datenbank/Struktur beenden und Sie sind über die Anwendung veröffentlichen Sie setzen müssen " Markieren Sie "in der Datenbank, exportieren Sie es korrekt und erklären Sie, dass es die Version 1 der Datenbank ist. Danach können Sie beginnen, Migrationen zu schreiben, und Sie werden sicherer sein, und Sie werden viele Probleme wie ungültige Datentypen, schlechte Struktur und andere vermeiden.

Ein anderer Weg ist die Verwendung von toSql machen es unter einem Ordner lassen sagen rawSqlDatabaseMigrations mit Zeitstempel und so.

Auch Sie könnten einfach manuell schreiben SQL und verwenden Sie die Migration nur mit DB::raw.

Verwandte Themen