Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не сохраняются изменения в БД 
:(
    Опции темы
julka137
Дата 21.4.2013, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.4.2013

Репутация: нет
Всего: нет



Всем привет! 
Подскажите, пожалуйста, как решить проблему: создаю grails-приложение, создаю домен и контроллер. Когда запускаю приложение, ввожу данные и сохраняю их, то при повторном запуске приложения этих данных уже нет. Использую стандартную БД - H2. Если посмотреть через bdconsole, то там созданных таблиц (если я правильно понимаю, то они создаются через домен и контроллер??) нет.... 
Никак не могу найти решения... Помогите пожалуйста, хотя бы понять причину. Заранее спасибо.
PM MAIL   Вверх
Stolzen
Дата 21.4.2013, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 1
Всего: 48



Случаем не embedded in-memory бд используется?


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
julka137
Дата 21.4.2013, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.4.2013

Репутация: нет
Всего: нет



Цитата(Stolzen @ 21.4.2013,  08:51)
Случаем не embedded in-memory бд используется?


наверное используется, если я правильно поняла, о чём Вы. Вот скрин dbconsole: http://s1.ipicture.ru/uploads/20130421/aqp49O48.jpg

PM MAIL   Вверх
Dummy
Дата 22.4.2013, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: нет
Всего: 19



Проверьте конфигурацию data source для того режима, в котором вы запускаете (development, prod, test и т. д.) Конкретнее - какой режим dbCreate прописан в DataSource.groovy. Например, в development-режиме по умолчанию назначено так:
Код

environments {
    development {
        dataSource {
            dbCreate = "create-drop"
            ...
        }
    }
}

Это означает, что при запуске приложения база каждый раз удаляется и создаётся заново. Чтобы база не пересоздавалась каждый раз, должно быть dbCreate = "update".

Это сообщение отредактировал(а) Dummy - 22.4.2013, 11:33
PM MAIL   Вверх
julka137
Дата 22.4.2013, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.4.2013

Репутация: нет
Всего: нет



Цитата(Dummy @ 22.4.2013,  11:00)
Проверьте конфигурацию data source для того режима, в котором вы запускаете (development, prod, test и т. д.) Конкретнее - какой режим dbCreate прописан в DataSource.groovy. Например, в development-режиме по умолчанию назначено так:
Код

environments {
    development {
        dataSource {
            dbCreate = "create-drop"
            ...
        }
    }
}

Это означает, что при запуске приложения база каждый раз удаляется и создаётся заново. Чтобы база не пересоздавалась каждый раз, должно быть dbCreate = "update".

да, я это проверяла, в настройках в этом плане вроде бы нормально:
Код

environments {
    development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
        }
    }


просто даже если бы стоял 'create-drop', то я думаю в dbconsole таблицы должны были бы хотя бы создаться, но там ничего нет...
PM MAIL   Вверх
Dummy
Дата 22.4.2013, 16:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: нет
Всего: 19



В скриншоте dbConsole, который вы сначала показывали, URL вот такой:
Код

jdbc:h2:~devDb;MVCC=TRUE

, а теперь же вы пишете про вот такой:
Код

jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000


Какому из них верить?  smile Если урл у вас действительно начинается с "jdbc:h2:mem", то Stolzen прав - это in-memory DB.
PM MAIL   Вверх
julka137
Дата 23.4.2013, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.4.2013

Репутация: нет
Всего: нет



Цитата(Dummy @ 22.4.2013,  16:37)
В скриншоте dbConsole, который вы сначала показывали, URL вот такой:
Код

jdbc:h2:~devDb;MVCC=TRUE

, а теперь же вы пишете про вот такой:
Код

jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000


Какому из них верить?  smile Если урл у вас действительно начинается с "jdbc:h2:mem", то Stolzen прав - это in-memory DB.

ух ты-ж ёлки-палки))) пора покупать очки)) скопирую полностью url из datasource, думаю, что теперь всё нормально будет))
 спасибо всем огромное))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Groovy & Grails | Следующая тема »


 




[ Время генерации скрипта: 0.1184 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.