虽然我不是 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 的空模式?如果版本不同步,后一个选项似乎可能会出现问题,所以如果有人有任何其他想法,我将不胜感激。