Ich bin in der Entwicklungsphase und versuche, die In-Memory-DB zu verwenden und sie während des Startens der Grails-Anwendung mit einigen Daten zu laden. Meine Frage ist, gibt es eine Möglichkeit, SQL-Insert-Anweisungen zu schreiben/konfigurieren, die während des Starts ausgeführt werden können.Ausführen von SQL-Einfügungen während des Starts der Grails-Anwendung
5
A
Antwort
8
Sie können dies in BootStrap.groovy tun. Wenn Sie eine Dependency Injection für die dataSource
Bean hinzufügen können Sie es mit einer groovy.sql.Sql
Instanz verwenden, um Einsätze zu tun:
import groovy.sql.Sql
class BootStrap {
def dataSource
def init = { servletContext ->
def sql = new Sql(dataSource)
sql.executeUpdate(
'insert into some_table(foo, bar) values(?, ?)',
['x', 'y'])
}
}
Sie würden wahrscheinlich besser dran, wenn auch mit GORM, vorausgesetzt, diese Tabellen sind, die mit Domain-Klassen verwaltet werden. Z.B. Führen Sie etwas wie new Book(author: 'me', title: 'some title').save()
Danke, habe was ich suche .. – Malla