虽然我不是Ruby用户,但我真的很喜欢ActiveRecord在代码中定义模式的方法,并且能够生成并查询它。我知道这不能用Java完全复制,但我想做一些合理的事情。
我使用了来自QueryDSL文档的以下内容,使用maven插件从我的SQL数据库生成bean和元数据:http://www.querydsl.com/static/querydsl/2.9.0/reference/html/ch02s08.html#d0e1244
<plugin>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-maven-plugin</artifactId>
<version>${querydsl.version}</version>
<configuration>
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
<jdbcUrl>jdbc:mysql://localhost:3306/test</jdbcUrl>
<packageName>com.example.schema</packageName>
<targetFolder>${project.basedir}/src/main/scala</targetFolder>
<exportBeans>true</exportBeans>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.16</version>
</dependency>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-scala</artifactId>
<version>${querydsl.version}</version>
</dependency>
</dependencies>
</plugin>
现在我已经获得了所有这些bean和表,并且定义了键和外键约束,是否有办法生成将重新创建该表模式的MySQL命令?
如果这不可能,那么以相互对应的方式分发源和架构的推荐方法是什么?我应该只有一个空的MySQL转储并有相应的生成bean的工具?或者我应该将生成的源以及空模式包含到MySQL中?如果版本没有同步,后一个选项似乎可能有问题,所以如果有人有任何其他想法,我会很感激。
答案 0 :(得分:2)
一种方法是打包数据库架构的生成源和版本化DDL / DML文件。我们在一些项目中成功地使用了DbMaintain。
无法从生成的Querydsl源中获取架构数据。