Вопрос

I am using Grails 2.1.1 and MySQL 5.5.27 Community Server.

I need to have a Domain class field generate a TEXT or LONGTEXT column.

I thought this would be simple, and I've seen numerous examples:

Grails domain class, String field TEXT and LONGTEXT

How can grail generate TEXT not LONGTEXT data type or column

However, I've run into dead-ends all night. I followed all these examples and none seem to work (even though others have reported that it works).

Here is a sample Domain Class I created:

class Coltest {

    static constraints = {
        description1 sqlType: 'longtext'
        description2 sqlType: 'text'
        description3 type: 'text'
        description4 column: "longDescription", type: "text", nullable:true
    }

    String description1
    String description2
    String description3
    String description4
}

Here is what I get in MySQL command interface:

mysql> describe coltest;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | bigint(20)   | NO   | PRI | NULL    | auto_increment |
| version      | bigint(20)   | NO   |     | NULL    |                |
| description1 | varchar(255) | NO   |     | NULL    |                |
| description2 | varchar(255) | NO   |     | NULL    |                |
| description3 | varchar(255) | NO   |     | NULL    |                |
| description4 | varchar(255) | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
6 rows in set (0.01 sec)

No matter what I try, I always seem to get a column of type varchar(255).

Apologies if I'm missing something silly, but I've been staring at this all night, and think I've tried everything that others have reported to work.

Any insight would be appreciated tremendously. Thank you in advance.

Это было полезно?

Решение

I think that the issue is that 'sqlType' belongs in a mapping, not a constraint.

Try either:

static constraints = {
  description2 size: 1..5000
}

or

static mapping = {
  description2 sqlType:"text"
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top