我有一个迁移到 MySQL 和 PostgreSQL 的应用程序,我在数据分配方面都有不同的行为。
通过分析在 Postgres 中创建的数据库,我意识到在每个表中创建的 ID 编号并没有被重置为另一个表的更改。例如,它被设置在寄存器 3 'Table1' 中并计数 ID 1 到 3。当插入另一个表中另一个类的对象时,应该为该表启动 ID,但它遵循前一个和当对象保留在“table2”中时,他的第一个 ID 开头继续从 4 开始计数。我还注意到 Mysql 中的一些变化,因为“false”字段“boolean”是 preenchdio,在 Postgres 中填充了“0”错误的 '。
我更新了 JDBC,但问题仍然存在。我认为也许应该在现场进行一些“映射”配置,但不确定。
我的数据源是这样的:
environments {
development {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:postgresql://localhost:5432/app"
driverClassName = "org.postgresql.Driver"
dialect = org.hibernate.dialect.PostgreSQLDialect
//url = "jdbc:mysql://localhost:3306/app"
username = "app"
password = "app123"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
username = "sa"
password = ""
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:postgresql://localhost:5432/app"
driverClassName = "org.postgresql.Driver"
username = "postgres"
pooled = true
properties {
maxActive = -1
minEvictableIdleTimeMillis=1800000
timeBetweenEvictionRunsMillis=1800000
numTestsPerEvictionRun=3
testOnBorrow=true
testWhileIdle=true
testOnReturn=true
validationQuery="SELECT 1"
}
}
}
}
您可以遵循与 Mysql Postgres 中相同的模式吗?