flyway的使用
Jun 07, 2016 pm 02:50 PM在频繁的工程实践中,服务端程序与数据库不断的更新,如果服务端和数据库部署不一致,经常性的会导致各种问题。为了解决这一问题,可行的方案之一就是让数据库随着服务端的版本而更新,flyway就是一种解决方案。 一. 目的 管理数据库更新。 二.方法 直接在ja
在频繁的工程实践中,服务端程序与数据库不断的更新,如果服务端和数据库部署不一致,经常性的会导致各种问题。为了解决这一问题,可行的方案之一就是让数据库随着服务端的版本而更新,flyway就是一种解决方案。
一. 目的
管理数据库更新。
二.方法
直接在java工程中嵌入sql脚本。工程重新部署时,会自动更新数据库,保证数据库与代码同步,避免了手动更新数据库带来的弊病。
三.原理
在数据库中创建了一个表schema_version,该表的最后记录为当前数据库版本。
四.步骤
1.在pom文件中加入如下:
dependency>
groupId>org.flywaydbgroupId>
artifactId>flyway-coreartifactId>
version>3.2.1version>
dependency>
2.在dispatcher-servlet.xml中加入
bean id="flyway" class="org.flywaydb.core.Flyway" depends-on="dataSource" lazy-init="false" init-method="migrate">
property name="dataSource" ref="dataSource"/>
property name="initOnMigrate" value="true" />
property name="validateOnMigrate" value="false" />
bean>
同时让其它数据库操作bean依赖于flyway这个bean,避免数据库未升级完毕已经进行数据库操作。
bean id="hibernate4AnnotatedSessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" depends-on="flyway">
bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" depends-on="flyway">
3.在resources下建立数据库脚本升级目录,请注意脚本命名方式
五.注意
1.flyway不支持回滚,如果你增加了一个字段,然后又要删除这个字段,就只能写一个V2_6_0_1__Delete_new_like_Column.sql的脚本。
2.一旦使用flyway,就不要使用手动方式修改数据库,同时不得删除schema_version中数据。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











RLHF から DPO、TDPO に至るまで、大規模なモデル アライメント アルゴリズムはすでに「トークンレベル」になっています

OpenAI Super Alignment チームの遺作: 2 つの大きなモデルがゲームをプレイし、出力がより理解しやすくなる

オープンソース AI ソフトウェア エンジニアのリストのトップに立つ UIUC のエージェントレス ソリューションは、SWE ベンチの実際のプログラミングの問題を簡単に解決します

ControlNet の作者がまたヒット作を出しました!写真から絵画を生成し、2 日間で 1.4,000 個のスターを獲得する全プロセス

無制限のビデオ生成、計画と意思決定、次のトークン予測とフルシーケンス拡散の拡散強制統合

arXiv 論文は「弾幕」として投稿可能、スタンフォード alphaXiv ディスカッション プラットフォームはオンライン、LeCun は気に入っています

リーマン予想の大きな進歩!陶哲軒氏はMITとオックスフォードの新しい論文を強く推薦し、37歳のフィールズ賞受賞者も参加した

公理的トレーニングにより、LLM は因果推論を学習できます。6,700 万個のパラメータ モデルは、1 兆個のパラメータ レベル GPT-4 に匹敵します。
