use of org.apache.ddlutils.model.Database in project siena by mandubian.
the class PostgresqlTest method createPersistenceManager.
@Override
public PersistenceManager createPersistenceManager(List<Class<?>> classes) throws Exception {
if (pm == null) {
Properties p = new Properties();
String driver = "org.postgresql.Driver";
String username = "siena";
String password = "siena";
String url = "jdbc:postgresql://localhost/siena";
p.setProperty("driver", driver);
p.setProperty("user", username);
p.setProperty("password", password);
p.setProperty("url", url);
Class.forName(driver);
BasicDataSource dataSource = new BasicDataSource();
dataSource = new BasicDataSource();
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
// 2 seconds max for wait a connection.
dataSource.setMaxWait(2000);
DdlGenerator generator = new DdlGenerator();
for (Class<?> clazz : classes) {
generator.addTable(clazz);
}
// get the Database model
Database database = generator.getDatabase();
Platform platform = PlatformFactory.createNewPlatformInstance("postgresql");
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, username, password);
System.out.println(platform.getAlterTablesSql(connection, database));
// this will perform the database changes
platform.alterTables(connection, database, true);
connection.close();
pm = new PostgresqlPersistenceManager();
pm.init(p);
}
return pm;
}
Aggregations