2015-03-26 4 views
2

Когда я начинаю приложение Grails, я получаю эти ошибки для всех моих классов домена.Ошибка Grails: таблица или вид не существует

ERROR hbm2ddl.SchemaExport - HHH000389: Unsuccessful: drop table domain_class cascade constraints 
ERROR hbm2ddl.SchemaExport -ORA-01031: insufficient privileges 

, а затем

ERROR hbm2ddl.SchemaExport -ORA-00942: table or view does not exist 

Я использую в памяти базы данных для приложения и мой DataSource.groovy имеет это в нем:

dataSource { 
    pooled = true 
    driverClassName = "org.h2.Driver" 
    username = "sa" 
    password = "" 
} 
hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = false 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 
} 
// environment specific settings 
environments { 
    local { 
     dataSource { 
      dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', '' 
      url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 
     } 
    } 
    development { 
     dataSource { 
      dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', '' 
      url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 
     } 
    } 
    test { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 
     } 
    } 

Есть ли что-то не так с настройками в DataSource? Я начинаю свою заявку с grails -Dgrails.env=local run-app -https

Я попытался создать объекты во время запуска с помощью BootStrap.groovy, и даже они терпят неудачу. Я использую GGTS для разработки. О каких привилегиях это говорит?

+1

Включите в вопрос весь контент 'DataSource.groovy'. Здесь вы используете среду 'local', которая является настраиваемой средой. Я сомневаюсь, что приложение будет ссылаться на Oracle db в среде 'development'. – dmahapatro

+0

Обновлено. Это команда, в которой я конкретно говорю ей использовать локальную среду. Это полезно? – NanoNi

+0

нигде Oracle db не упоминается в DataSource. Вы должны обновить полный контент DataSource. – dmahapatro

ответ

0

Мы нашли ответ. dataSource в файле instanceConfig.local.properties в папке ресурсов указывал на базу данных Oracle, и я не настроен на роль для создания или удаления таблиц. Следовательно, ошибка недостаточных привилегий.

Несмотря на то, что у DataSource.groovy была настройка базы данных в памяти, я предполагаю, что instanceConfig.local.properties переопределяет ее. Спасибо в любом случае за помощь ребятам!

Смежные вопросы