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中数据。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

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

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

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

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

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

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

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

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

無制限のビデオ生成、計画と意思決定、次のトークン予測とフルシーケンス拡散の拡散強制統合 無制限のビデオ生成、計画と意思決定、次のトークン予測とフルシーケンス拡散の拡散強制統合 Jul 23, 2024 pm 02:05 PM

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

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

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

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

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

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

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

See all articles