Ich möchte nicht ausführen data.sql
Datei jedes Mal, wenn ich will data.sql
Datei ausgeführt werden, einmal und danach, wenn ich meine Anwendungsdatei ausführen muss es diese Datei übergeben. weil, wann immer ich die Anwendung ausführe, führt sie die data.sql
Datei aus, und für das doppelte Einträge sind in der Tabelle.Nur einmal data.sql Datei muss ausgeführt werden
1
A
Antwort
0
Warum verwenden Sie nicht ein Datenbankmigrationstool wie Flyway oder Liquidbase? Dann weiß jedes Mal beim Starten der App, ob die Änderungen bereits angewendet wurden.
ZB: data.sql wird in etwas wie initial_data_V100 umbenannt.
Dann wird diese unter einem Schema-Tabelle gespeichert werden (generiert und verwendet von Flyway/Liquidbase) wie: Id, SCHEMA_VERSION, script_name, Prüfsumme 1, V100, initial_data_V100,234234
Jedes Mal, wenn Sie die App starten Es wird sehen, ob Sie diese Schemaänderungen bereits angewendet haben.
Das nächste Mal, wenn Sie weitere Änderungen hinzufügen möchten, müssen Sie nur eine neue Datei erstellen und die Version erhöhen, zB: V101.sql. Flyway oder Liquidbase wird es übernehmen und die Schemaänderungen anwenden
Verwandte Themen
- 1. makefile Ziel, das nur einmal ausgeführt werden muss
- 2. Python Logger - kann nur einmal ausgeführt werden
- 3. wie jquery nur einmal ausgeführt werden kann
- 4. Hintergrund nur einmal in Gurke ausgeführt werden
- 5. Javascript-Funktion nur einmal ausgeführt
- 6. .scroll() wird nur einmal ausgeführt
- 7. Aufgabe wird nur einmal ausgeführt
- 8. MultiTrigger wird nur einmal ausgeführt
- 9. ScheduledExecutorService wird nur einmal ausgeführt
- 10. Thread wird nur einmal ausgeführt
- 11. Suchfeldcode wird nur einmal ausgeführt
- 12. Hintergrund StreamSocketListener nur einmal ausgeführt
- 13. 2 verschiedene Werte von Dropdown führen gleiche Funktion, aber muss nur einmal ausgeführt werden
- 14. Warum Python Scheduler nur einmal ausgeführt wird?
- 15. BufferedReader mock. readLine() muss nur einmal aufgerufen werden
- 16. py.test-Methode nur einmal pro Lauf ausgeführt werden
- 17. Werden Unterauswahlen in Where-Klauseln mehrmals oder nur einmal ausgeführt?
- 18. Python for loop wird nur einmal ausgeführt
- 19. Warum wird diese Schleife nur einmal ausgeführt?
- 20. AutoMapper: Warum wird UseValue nur einmal ausgeführt?
- 21. gulpfile nur einmal ausgeführt wird mit Uhr
- 22. Bluebird Versprechen, provide.each wird nur einmal ausgeführt
- 23. Aufgabe nur einmal auf Timer ausgeführt
- 24. Paginierung Click Event wird nur einmal ausgeführt
- 25. SetTimeout wird nur einmal beim Mousedown ausgeführt
- 26. Die Methode in_array wurde nur einmal ausgeführt?
- 27. Python: verschachtelte Iteritems-Schleife nur einmal ausgeführt
- 28. Windows-Dienst wird nur einmal ausgeführt
- 29. Funktion wird nur einmal ausgeführt C
- 30. onclick Ereignis-Listener nur einmal ausgeführt
Die Antwort hängt stark von Ihrer Anwendungslogik ab. Sie müssen eine Logik hinzufügen, die erkennt, ob data.sql bereits ausgeführt wurde. Definieren Sie also einfach die "By-Pass-Kriterien", überprüfen Sie zuerst, und führen Sie data.sql nur bei Bedarf aus. Bitte beachten Sie, dass dies zu einem konstanten Overhead für Ihre App führt. Es könnte sich lohnen, an den entgegengesetzten Weg zu denken. Obwohl ein Fehler beim Start der App ohne data.sql * EVER * ausgeführt wurde, starte es und starte deine App. – MBushveld
können wir etwas in der Datei application.properties tun, damit es die Datei datas.sql überprüft – Aurovindo
Es gibt keine Config zum Deaktivieren in 'application.yml'. Was Sie tun können, fügen Sie richtige Einschränkungen in DB-Seite hinzu und aktivieren Sie diese 'spring.datasource.continue-on-error' – Jobin