2012-11-27 25 views
0

虽然我不是Ruby用户,但我非常喜欢ActiveRecord在代码中定义模式的方式,并且能够生成并查询它。我知道这不能在Java中完全复制,但我想做一些合理的事情。从QueryDSL生成的bean和查询创建模式

我用像从QueryDSL文档以下生成从我的SQL数据库豆类和元数据,使用Maven插件: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> 

现在,我已经得到了所有这些豆子和表,定义了键和外键约束,有没有办法生成MySQL命令来重新创建该表的模式?

如果这是不可能的,建议如何以相互对应的方式分配源和模式?我应该只是有一个空的MySQL转储,并有相应的工具来生成bean?还是应该将生成的源与一个空模式一起包含到MySQL中?后面的选项似乎可能会有问题,如果版本不同步,所以我会很感激,如果任何人有任何其他的想法。

回答

2

一种方法可能是将数据库模式的生成的源和版本化的DDL/DML文件打包。我们在某些项目中成功使用了DbMaintain

从生成的Querydsl源派生模式数据是不可能的。

+0

今天有可能吗? – Jack