是否可以在Spring框架中動態地添加數據庫表列?使用Spring動態地添加/更改表列動作
通過這個我的意思是使用Spring DAO來改變表來添加一個新的列而不重建或編譯。
我發現這是可能的Yii(php)框架使用CDbMigration。
是否可以在Spring框架中動態地添加數據庫表列?使用Spring動態地添加/更改表列動作
通過這個我的意思是使用Spring DAO來改變表來添加一個新的列而不重建或編譯。
我發現這是可能的Yii(php)框架使用CDbMigration。
Spring並不是真正意義上的數據庫遷移,你應該看看像FlyWay這樣的工具,它會照顧它。
Spring DAO?不,DAO是Data Access Object
,您需要類似Structure Access Object
那不存在(並可能永遠不會)。
儘管將它作爲Maven生命週期的一部分來實現會更好,但在編程上可以通過Spring框架實現相同的功能。我不會建議使用基於DAO的方法。正如@Eric Citaire所提到的,建議使用像Flyway,Liquibase這樣的框架。現在,這兩個框架在Spring中運行得非常好,並且具有很好的集成性。
在飛路要添加需要的配置的情況下是:
<bean id="flyway" class="org.flywaydb.core.Flyway" depends-on="dataSource">
<property name="dataSource" ref="dataSource"/>
</bean>
然後從代碼注入飛路豆,只需訪問該遷移(),其將使用腳本來遷移分貝。
Liquibase也可以達到同樣的效果。
在liquibase需要添加的配置是案例:
<bean id="liquibase" class="liquibase.integration.spring.SpringLiquibase">
<property name="dataSource" ref="myDataSource" />
<property name="changeLog" value="classpath:db-changelog.xml" />
<property name="contexts" value="dev" />
</bean>
爲什麼你需要這種能力? – Aakash