проблемы с просмотром h2 db, используемых в проекте Grails - PullRequest
3 голосов
/ 22 сентября 2011

Я пытаюсь взглянуть на таблицы, сгенерированные в h2 db, используемые в проекте Grails, но что-то не так.

Я подключаюсь к консоли браузера на http://127.0.1.1:8082/, но все, что нужно для просмотра, это INFORMATION_SCHEMA и Users. Как мне получить таблицы, используемые / генерируемые приложением?

Только что начал создавать приложение, и только несколько классов доменов на месте, и я пытаюсь почувствовать, как работает h2. До этого я использовал PostgreSql во всех проектах, так что на данный момент это очень нервирует. Заранее спасибо

Ответы [ 3 ]

8 голосов
/ 22 сентября 2011

Используете ли вы правильный JDBC URL при входе в систему?

Значение по умолчанию в граалях: jdbc:h2:mem:devDB.

Когда указан несуществующий URL, например jdbc:h2:blabla,Создается пустая база данных со значениями по умолчанию INFORMATION_SCHEMA и Users, как вы описали.

Убедитесь, что вы подключаетесь к URL-адресу, где ваше приложение Grails хранит свои таблицы.URL можно найти в $GRAILS_PROJECT/config/DataSource.groovy после определения url.

environments {
  development {
    dataSource {
      pooled = false
      logSql = false
      username = "sa"
      password = ""

      dialect = "com.hp.opr.hibernate.dialect.H2Dialect"
      driverClassName = "org.h2.Driver"
      dbCreate = "create-drop"
      url = "jdbc:h2:mem:devDB;DB_CLOSE_DELAY=-1;MVCC=TRUE"
    }
  }
}
3 голосов
/ 22 сентября 2011

Если вы используете 2.0, веб-консоль включена по умолчанию в режиме разработки и может быть включена в других средах: http://grails.org/doc/2.0.0.M2/guide/conf.html#databaseConsole

Если вы еще не используете 2.0, вы можете установить плагин http://grails.org/plugin/dbconsole или перейти по ссылке на мой пост в блоге и настроить его самостоятельно, если вы хотите настроить URL (или если вы используете Grails до 1.3.6, так как плагин имеет искусственное ограничение версии 1.3.6 +)

0 голосов
/ 23 сентября 2011

... поэтому в источнике данных я изменил URL-адрес на: url = "jdbc: h2: rswDb" (удалив часть 'mem' и изменив имя базы данных). Затем в корневом каталоге проекта появились файлы размером 3 дБ.

Далее в консоли db установите для URL-адреса jdbc: URL-адрес jdbc: jdbc: h2: ~ / work / web / rsw / rswDb

... и когда я нажал «подключить», все столы были там!

Еще раз спасибо!

...