Jhipster 公升級 修改 資料庫結構

2022-01-10 13:09:28 字數 3761 閱讀 2646

1、jhipster環境,jdk1.8,yeoman,node.js安裝環境參考官方wiki,環境問題參考我的部落格,如果出現註冊中心空白頁,請參考部落格

2、首先需要啟動jhipster基礎服務,jhipster-registry-master,uaa,gateway,新建乙個微服務應用,參考官方文件

3、建立實體,cd到微服務目錄,自動建立資料庫,參考官方文件,這裡我們建立乙個clazz實體,本文主要修改這個實體,有乙個classno int型,classname stirng型

4、還需要知道how to 查詢dev環境的資料庫,比較簡單,簡單講下:啟動新建的微服務應用,檢視埠號(這裡以8081舉例),訪問 localhost:8081/h2-console

上圖中就是我們熟悉的查詢介面了,接下來我們看看修改資料庫

鑑於jhipster公升級/修改資料庫結構有 三種方式,這裡分開來介紹下

1、cd到需要修改的微服務應用專案資料夾

2、執行entity sub-generator:命令 yo jhipster:entity 需要修改的實體名(第一次是建立,如果已經存在則提示修改)

3、根據需要選擇新增欄位到這個實體,還是刪除字段,這裡沒有修改,可以使用remove之後再新增,這裡選新增做測試,新增乙個名為class_desc,字段型別為string

不繼續輸入n,當然了如果想繼續新增也無所謂,後邊新增約束也可以不新增

此時這個實體就修改完畢了,同時自動建立 changelog 到src/main/resources/config/liquibase/changelog目錄中,並且自動新增到src/main/resources/config/liquibase/master.xml檔案中,這裡就是liquibase等待這個專案啟動去改變資料庫的事了。

這一切都是自動發生的,如果僅想簡單的修改表結構,可以這樣,也不用繼續看下文了,啟動專案即可

當然這種一看就是最麻煩的那種,其實不難

1、修改jpa實體,比如我現在想為clazz實體和資料庫新增乙個欄位class_test,型別為string

2、編寫changelog檔案

建立 changelog檔案到src/main/resources/config/liquibase/changelog命名格式為yyymmddhhmmss_描述.xml(可以少寫一些),例如這裡就用201804131020_modify_entity_clazz.xml,參考官方文件

xml version="1.0" encoding="utf-8"

?>

<

databasechangelog

xmlns

=""xmlns:ext

="-ext"

xmlns:xsi

=""xsi:schemalocation

=" /dbchangelog-3.5.xsd

-ext /dbchangelog-ext.xsd"

>

<

property

name

="now"

value

="now()"

dbms

="h2"

/>

<

property

name

="now"

value

="now()"

dbms

="mysql"

/>

<

property

name

="autoincrement"

value

="true"

/>

<

property

name

="floattype"

value

="float4"

dbms

="postgresql, h2"

/>

<

property

name

="floattype"

value

="float"

dbms

="mysql, oracle, mssql"

/>

<

changeset

id="2018041320"

author

="hellxz"

>

<

addcolumn

tablename

="clazz"

>

<

column

name

="clazz_test"

type

="varchar(50)"

/>

addcolumn

>

changeset

>

databasechangelog

>

3、將上邊修改的檔案路徑新增 changelog 到src/main/resources/config/liquibase/master.xml

xml version="1.0" encoding="utf-8"

?>

<

databasechangelog

xmlns

=""xmlns:xsi

=""xsi:schemalocation

=" /dbchangelog-3.5.xsd"

>

databasechangelog

>

4、重新啟動微服務應用,如果沒有error,請進入h2-console檢視,

下邊是正常情況下的資料庫情況

開發流程如下

1、啟動專案輸出如下:

解決辦法:

2、出現如下圖問題

這個問題是說之前我們已經建立了這個字段,進入h2-console檢視,的確存在

3、對於每次啟動都會報錯這個錯誤,還有種簡單粗暴的方法是刪除target ,祝成功:)

修改資料庫

改資料庫庫名稱 alter database 資料庫名稱 modify name 新資料庫名稱 或exec sp renamedb 資料庫名稱 新資料庫名稱 擴大資料庫 alter database語句擴大資料庫 alter database studentsys add file name stu...

sql修改資料 oracle修改資料庫字符集

1.檢視資料庫字符集 資料庫伺服器字符集 select from nls database parameters 其 於props 是表示資料庫的字符集。客戶端字符集環境 select from nls instance parameters 其 於v parameter,表示客戶端的字符集的設定,...

修改資料庫連線

jdbc.url jdbc oracle thin 1521 jmebdb1 jdbc.username hb jdbc.password hb hibernate.dialect org.hibernate.dialect.oracle10gdialect hibernate.show sql t...