Grails DataSource для удаленного доступа к базе данных MYSQL и миграции
Возможно ли для локально запущенного приложения grails получить доступ и обновить удаленную базу данных MySQL? Предположим, что удаленный сервер Linux, на котором tomcat, MySQL установлены в обычных местах. Предположим, что удаленный URL-адрес доступен как tom@189.124.24.249. Таким образом, Grails должен иметь доступ к БД от имени пользователя 'tom' или он должен быть пользователем root или пользователем mysql??? Нужно ли указывать пароль пользователя Tom в DataSource.groovy? В MYSQL db test_db настроен для доступа с именем пользователя 'guru' и паролем 'secret'.
Если то же приложение Grails также работает на удаленном сервере, обращающемся к этой удаленной БД, локально работающий экземпляр приложения Grails, обращающегося к той же удаленной БД, не должен вызывать никаких проблем??
Предположим, что имя удаленной базы данных - test_db.
Мне это нужно также в контексте с плагинами из Liquidibase Grails и миграцией базы данных. Мне нужно запустить команду grails migrate для удаленной базы данных, чтобы синхронизировать ее с локальной базой данных.
Дополнительный вопрос: как мне синхронизировать локальную базу данных, в которой данные таблицы уже заполнены, с удаленной новой вновь созданной базой данных без данных? Кажется, это относится к области миграции контента БД, которая, насколько я знаю, не покрывается плагином Grails. Я хотел бы знать, каков будет правильный подход к этому в контексте применения Grails.
2 ответа
Я считаю, что это в основном дубликат миграций базы данных Liquibase Grails
Для дополнительного вопроса: после Грааля мигрирует структура, mysqldump
или любая другая процедура резервного копирования / восстановления должна работать.
Вам просто нужно установить правильные учетные данные в Datasource.groovy, и все это должно работать нормально. Мы запускаем наше приложение в производственной среде, а сервер базы данных находится в другом окне.
Я не думаю, что два приложения, обращающиеся к серверу базы данных, должны быть проблемой.
Не могу помочь с дополнительным вопросом... извините