如何使用GORM在grails 2.4.4中动态创建列

时间:2016-06-02 05:46:04

标签: grails gorm

我想根据文件上传在我的数据库中创建一个表。意味着一旦上传了csv文件,那么只应在我的数据库中创建表,并且对于每个csv文件,应该动态创建一个新表。

现在我正在尝试从控制器上传文件。从控制器我应该将字段值传递给域类和表名称与csv文件名相同如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

关系数据库确实不适合动态持久性模型,像MongoDB会更好。使用GORM域模型可以做的最好就像

class CsvFile {
    String fileName
    static hasMany = [rows: Row]
}

class Row {
    static belongsTo = [csvFile: CsvFile]
    Map<String, Object> fields
}

我意识到这并不完全符合您的要求,因为每个CSV文件都存储在一个单独的表中,但是当GORM域模型存储在关系数据库中时,这并不实际。< / p>