Nous avons créé deux objets de domaine différents dans Grails et essayé d'accéder à partir de deux schémas différents.Impossible de personnaliser le schéma d'une classe de domaine dans Grail & Groovy
Méthode 1:
Par exemple:
Student.groovy
class Students {
String id
String name
String address
Static mapping = {
schema: 'student_details'
}
}
Customer.groovy
class Customer {
String firstName
String lastName
String address
Static mapping = {
schema: 'customer_details'
}
}
application.yml
environments:
development:
dataSource:
dbCreate: update
url: jdbc:mysql://localhost:3306/
Si je fournis un schéma par défaut dans la chaîne de connexion URL, il se référant toujours à cette valeur par défaut quel que soit le schéma défini dans la classe de domaine et exception throw, aucune table trouvée. Si je supprime le schéma par défaut de la chaîne de connexion d'URL, j'obtiens l'erreur "Aucune base de données sélectionnée" dans les journaux.
Méthode 2:
Nous avons essayé de configurer chaque schéma avec plusieurs sources de données option dans application.yml comme suit:
dataSource:
pooled: true
dbCreate: update
url: jdbc:mysql://localhost:3306/sample_grails
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
username: root
password: ''
secondary:
pooled: true
dbCreate: update
url: jdbc:mysql://localhost:3306/grails_mapping
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
username: root
password: ''
occasion la classe de domaine comme Customer.groovy
class Customer {
String firstName
String lastName
String address
Static mapping = {
datasource 'secondary'
}
}
Je reçois une erreur
Caused by: org.grails.datastore.mapping.core.exceptions.ConfigurationException: DataSource not found for name [secondary] in configuration. Please check your multiple data sources configuration and try again.
Nous avons évoqué les liens suivants pour l'accès à des schémas multiples:
https://objectpartners.com/2016/03/09/using-secondary-datasources-in-grails-3/
Creating a Domain Class with schema in Grails
Quelqu'un peut-il proposer une solution à cela?