2013-03-19 1 views
0

Может кто-то, пожалуйста, помогите разобраться в моей конфигурации или указать мне на примере MySql, который не использует JNDI. Я получаю ...modeshape3 - начало работы с mysql, non-jndi

Таблица «modeshape.content_store» не существует

... который я предполагаю, потому что это не автоматическое создание схемы. Я пробовал использовать свойство modeshape2 безрезультатно. Вот моя конфигурация

{ 
    "name" : "My Repository", 
    "monitoring" : { 
     "enabled" : true 
    }, 
    "workspaces" : { 
     "default" : "defaultWorkspace", 
     "allowCreation" : true 
    }, 
    "storage" : { 
     "cacheName" : "Teneo Repository", 
     "binaryStorage" : { 
      "type" : "database", 
     "driverClass" : "com.mysql.jdbc.Driver", 
     "username" : "modeshape", 
     "password" : "modeshape", 
     "url" : "jdbc:mysql://127.0.0.1:3306/modeshape?autoReconnect=true", 
     "autoGenerateSchema" : "create" 
     } 
    } 
} 

ответ

0

ModeShape всегда пытается создать таблицу, если таблица еще не существует. (ModeShape не распознает поле autoGenerateSchema в вашей конфигурации.)

Убедитесь, что вы предоставили пользователю доступ к базе данных для создания таблиц. Или просто создать таблицу вручную с помощью DDL:

CREATE TABLE CONTENT_STORE (
    cid VARCHAR(255) NOT NULL, 
    mime_type VARCHAR(255), 
    ext_text VARCHAR(1000), 
    usage INTEGER, 
    usage_time TIMESTAMP, 
    payload BLOB, 
    primary key(cid) 
) 

Вы можете настроить размер или тип столбцов, по мере необходимости, до тех пор, как типы совместимы с тех, которые перечислены выше. Например, в MySQL столбцы BLOB имеют максимальный размер (2^16 + 1) байт, но просто изменяют это значение на MEDIUMBLOB для (2^24 + 2) байта или LONGBLOB для (2^32 + 3) байта.

+0

просто быстро просмотрел код. Database.tableExists() возвращает false, если он ловит SQLException, но Database.execute() захватывает SQLException и реконструирует как исключение BinaryStoreException. Это то, что он должен делать? – TedTrippin

+0

И я не могу создать таблицу с этим sql, так как использование зарезервированного слова в MySql 5.5 :( – TedTrippin

+0

Я зарегистрировал это как проблему, см. Https://issues.jboss.org/browse/MODE-1861. Это будет зафиксировано в предстоящем выпуске (3.2.0.Final). –