Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Grails keep deleting my tables

I have my table structure like:

CREATE TABLE test_two_tabel.T1 ( T1_ID INT NOT NULL AUTO_INCREMENT , A1 INT NULL , B1 VARCHAR(45) NULL , C1 VARCHAR(45) NULL , D1 DATETIME NULL , PRIMARY KEY (T1_ID) );

In Grails:

package twotables

class T1 {

    Integer a
    String b
    String c
    Date d

    static mapping = {
        table "T1"
        version false
        id column:"T1_ID"
        a1 column:"a1"
        b1 column:"b1"
        c1 column:"c1"
        d1 column:"d1"
    }

    static constraints = {
        id()
        a1()
        b1()
        c1()
        d1()
    }
}

Every time I execute my program... Grails deletes my tables in the DB, does anyone know what's happening?

like image 840
Kevin Avatar asked Jan 25 '26 07:01

Kevin


1 Answers

You need to change value of dbCreate from 'create-drop' to 'update' at grails-app/conf/DataSource.groovy

You current value probably is:

development {
    dataSource {
        dbCreate = "create-drop" // one of 'create', 'create-drop','update'
        url = "***"
    }
}

this means that Grails will recreate all tables on every restart. If you'll set this as update it will try to update table structure, according to your data model classes.

You can read more about Grails DB configuration at http://www.grails.org/doc/latest/guide/3.%20Configuration.html#3.3%20The%20DataSource

like image 199
Igor Artamonov Avatar answered Jan 26 '26 22:01

Igor Artamonov



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!