[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-538) Add the ability to regenerate the datasource

Gavin King (JIRA) jira-events at jboss.com
Fri Dec 15 01:57:57 EST 2006


    [ http://jira.jboss.com/jira/browse/JBSEAM-538?page=comments#action_12348796 ] 
            
Gavin King commented on JBSEAM-538:
-----------------------------------

BTW, *please* submit pages in diff format.

> Add the ability to regenerate the datasource
> --------------------------------------------
>
>                 Key: JBSEAM-538
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-538
>             Project: JBoss Seam
>          Issue Type: Feature Request
>          Components: Tools
>    Affects Versions: 1.1.0.CR1
>            Reporter: gregorypierce
>
> Allows you to swap datasources from the current datasource to a new datasource. Why? Because many times I will develop using HSQL and then later want to move to another datasource.  Note: You will also have to add overwrite="true" to the various copy tasks or else they won't overwrite the existing datasource files.
>   <target name="new-datasource">
>     	<!-- define the datasource -->
>     	<condition property="database.type.default" value="${database.type}">
>     		<isset property="database.type"/>
>     	</condition>
>     	<property name="database.type.default" value="hsql"/>
>         <input addproperty="database.type.new" 
>                    message="What kind of database are you using? [${database.type.default}] " 
>         	     validargs="hsql,mysql,oracle,postgres,mssql,db2,sybase,enterprisedb"
>               defaultvalue="${database.type.default}"/>
>     	
>     	<!-- if the database type did not change, default to the previous values -->
>     	
>     	<condition property="hibernate.dialect.default" value="${hibernate.dialect}">
>     		<equals arg1="${database.type}" arg2="${database.type.new}"/>
>     	</condition>
>     	<condition property="hibernate.connection.url.default" value="${hibernate.connection.url}">
>     		<equals arg1="${database.type}" arg2="${database.type.new}"/>
>     	</condition>
>     	<condition property="hibernate.connection.driver_class.default" value="${hibernate.connection.driver_class}">
>     		<equals arg1="${database.type}" arg2="${database.type.new}"/>
>     	</condition>
>     	
>     	<!-- otherwise default to the defaults for the database type -->
>     	
>     	<condition property="hibernate.dialect.default" value="org.hibernate.dialect.HSQLDialect">
>     		<equals arg1="${database.type.new}" arg2="hsql"/>
>     	</condition>
>         <condition property="hibernate.dialect.default" value="org.hibernate.dialect.MySQLDialect">
>         	<equals arg1="${database.type.new}" arg2="mysql"/>
>         </condition>
>         <condition property="hibernate.dialect.default" value="org.hibernate.dialect.OracleDialect">
>         	<equals arg1="${database.type.new}" arg2="oracle"/>
>         </condition>
>         <condition property="hibernate.dialect.default" value="org.hibernate.dialect.PostgreSQLDialect">
>         	<equals arg1="${database.type.new}" arg2="postgres"/>
>         </condition>
>         <condition property="hibernate.dialect.default" value="org.hibernate.dialect.PostgreSQLDialect">
>         	<equals arg1="${database.type.new}" arg2="enterprisedb"/>
>         </condition>        
>         <condition property="hibernate.dialect.default" value="org.hibernate.dialect.SQLServerDialect">
>         	<equals arg1="${database.type.new}" arg2="mssql"/>
>         </condition>
>         <condition property="hibernate.dialect.default" value="org.hibernate.dialect.DB2Dialect">
>         	<equals arg1="${database.type.new}" arg2="db2"/>
>         </condition>
>         <condition property="hibernate.dialect.default" value="org.hibernate.dialect.SybaseDialect">
>         	<equals arg1="${database.type.new}" arg2="sybase"/>
>         </condition>
>     	
>     	<condition property="hibernate.connection.driver_class.default" value="org.hsqldb.jdbcDriver">
>     		<equals arg1="${database.type.new}" arg2="hsql"/>
>     	</condition>
>         <condition property="hibernate.connection.driver_class.default" value="com.mysql.jdbc.Driver">
>         	<equals arg1="${database.type.new}" arg2="mysql"/>
>         </condition>
>         <condition property="hibernate.connection.driver_class.default" value="oracle.jdbc.driver.OracleDriver">
>         	<equals arg1="${database.type.new}" arg2="oracle"/>
>         </condition>
>         <condition property="hibernate.connection.driver_class.default" value="org.postgresql.Driver">
>         	<equals arg1="${database.type.new}" arg2="postgres"/>
>         </condition>
>         <condition property="hibernate.connection.driver_class.default" value="com.edb.Driver">
>         	<equals arg1="${database.type.new}" arg2="enterprisedb"/>
>         </condition>
>         <condition property="hibernate.connection.driver_class.default" value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
>         	<equals arg1="${database.type.new}" arg2="mssql"/>
>         </condition>
>         <condition property="hibernate.connection.driver_class.default" value="COM.ibm.db2.jdbc.app.DB2Driver">
>         	<equals arg1="${database.type.new}" arg2="db2"/>
>         </condition>
>         <condition property="hibernate.connection.driver_class.default" value="com.sybase.jdbc2.jdbc.SybDriver">
>         	<equals arg1="${database.type.new}" arg2="sybase"/>
>         </condition>
>     	<condition property="hibernate.connection.url.default" value="jdbc:hsqldb:.">
>     		<equals arg1="${database.type.new}" arg2="hsql"/>
>     	</condition>
>         <condition property="hibernate.connection.url.default" value="jdbc:mysql:///test">
>         	<equals arg1="${database.type.new}" arg2="mysql"/>
>         </condition>
>         <condition property="hibernate.connection.url.default" value="jdbc:oracle:thin:@localhost:1521:test">
>         	<equals arg1="${database.type.new}" arg2="oracle"/>
>         </condition>
>         <condition property="hibernate.connection.url.default" value="jdbc:postgresql:template1">
>         	<equals arg1="${database.type.new}" arg2="postgres"/>
>         </condition>
>         <condition property="hibernate.connection.url.default" value="jdbc:edb://localhost:5444/edb">
>         	<equals arg1="${database.type.new}" arg2="enterprisedb"/>
>         </condition>        
>         <condition property="hibernate.connection.url.default" value="jdbc:sqlserver://localhost">
>         	<equals arg1="${database.type.new}" arg2="mssql"/>
>         </condition>
>         <condition property="hibernate.connection.url.default" value="jdbc:db2:test">
>         	<equals arg1="${database.type.new}" arg2="db2"/>
>         </condition>
>         <condition property="hibernate.connection.url.default" value="jdbc:sybase:Tds:localhost:5000/test">
>         	<equals arg1="${database.type.new}" arg2="sybase"/>
>         </condition>
> 		
>     	<!-- finally, default them to HSQL -->
>     	
>         <property name="hibernate.dialect.default" value="org.hibernate.dialect.HSQLDialect"/>
>         <property name="hibernate.connection.driver_class.default" value="org.hsqldb.jdbcDriver"/>
>         <property name="hibernate.connection.url.default" value="jdbc:hsqldb:."/>
>         
>     	<input addproperty="hibernate.dialect.new" 
>                    message="Enter the Hibernate dialect for your database [${hibernate.dialect.default}]" 
>               defaultvalue="${hibernate.dialect.default}"/>
>         
>         <property name="driver.jar" value="hsqldb.jar"/>
>         <input addproperty="driver.jar.new"
>                message="Enter the filesystem path to the JDBC driver jar [${driver.jar}]" 
>                defaultvalue="${seamgen.home}/lib/${driver.jar}"/>
>                 
>         <input addproperty="hibernate.connection.driver_class.new" 
>                    message="Enter JDBC driver class for your database [${hibernate.connection.driver_class.default}]" 
>               defaultvalue="${hibernate.connection.driver_class.default}"/>
>         
>         <input addproperty="hibernate.connection.url.new" 
>                    message="Enter the JDBC URL for your database [${hibernate.connection.url.default}]" 
>               defaultvalue="${hibernate.connection.url.default}"/>
>         
>         <property name="hibernate.connection.username" value="sa"/>
>         <input addproperty="hibernate.connection.username.new" 
>                    message="Enter database username [${hibernate.connection.username}]" 
>               defaultvalue="${hibernate.connection.username}"/>
>                 
>         <property name="hibernate.connection.password" value=""/>
>         <input addproperty="hibernate.connection.password.new" 
>                    message="Enter database password [${hibernate.connection.password}]" 
>               defaultvalue="${hibernate.connection.password}"/>
>                 
>         <property name="database.exists" value="n"/>
>         <input addproperty="database.exists.new" 
>                    message="Are you working with tables that already exist in the database? [${database.exists}] "
>         	     validargs="y,n,"
>               defaultvalue="${database.exists}"/>
>                         
>         <propertyfile file="${user.dir}/project.properties">
>         	<entry key="basepackage.name" value="${basepackage.name}" />
>             <entry key="project.name" value="${project.name}"/>
>             <entry key="project.home" value="${project.home}" />
>             
>             <!-- package names -->
>             <entry key="action.package" value="${action.package}"/>
>             <entry key="model.package" value="${model.package}"/>
>             <entry key="test.package" value="${test.package}"/>
> 			<!-- project database information -->
>             <entry key="database.type" value="${database.type.new}"/>
>         	<entry key="database.exists" value="${database.exists.new}"/>
>             <entry key="hibernate.dialect" value="${hibernate.dialect.new}"/>
>             <entry key="hibernate.connection.driver_class" value="${hibernate.connection.driver_class.new}"/>
>             <entry key="hibernate.connection.url" value="${hibernate.connection.url.new}"/>
>             <entry key="hibernate.connection.username" value="${hibernate.connection.username.new}"/>
>             <entry key="hibernate.connection.password" value="${hibernate.connection.password.new}"/>
>             <entry key="driver.jar" value="${driver.jar.new}"/>
>             
>             <entry key="eclipse.wtp" value="${eclipse.wtp.new}"/>
>        
>             
>         </propertyfile>
>         
>         <property file="${user.dir}/project.properties" />
>       	<property file="${seam.home}/seam.properties" />
>     	<property file="${user.dir}/${project.name}/project.properties" />
>     
>     	<condition property="wtp">
>     		<equals arg1="${eclipse.wtp}" arg2="y"/>
>     	</condition>
>     	    	
>     	<antcall target="file-copy" />
> 		<echo message="Your project has been created." />
>     	<echo message="Add the project from inside Eclipse (or type 'seam explode') and go to http://localhost:8080/${project.name}"/>
>     </target>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list