久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

瀏覽:3日期:2022-08-09 10:25:11
為什么要用Flyway

在日常開發(fā)中,我們經(jīng)常會遇到下面的問題:

自己寫的SQL忘了在所有環(huán)境執(zhí)行; 別人寫的SQL我們不能確定是否都在所有環(huán)境執(zhí)行過了; 有人修改了已經(jīng)執(zhí)行過的SQL,期望再次執(zhí)行; 需要新增環(huán)境做數(shù)據(jù)遷移; 每次發(fā)版需要手動(dòng)控制先發(fā)DB版本,再發(fā)布應(yīng)用版本;

其它場景...

由于項(xiàng)目需求的變化,或者前期設(shè)計(jì)缺陷,導(dǎo)致在后期需要修改數(shù)據(jù)庫,這應(yīng)該是一個(gè)比較常見的事情,如果項(xiàng)目還沒上線,你可能把表刪除了重新創(chuàng)建,但是如果項(xiàng)目已經(jīng)上線了,就不能這樣簡單粗暴了,每次運(yùn)維部署項(xiàng)目,還得手動(dòng)執(zhí)行一遍SQL文件。我們需要通過 SQL 腳本在已有數(shù)據(jù)表的基礎(chǔ)上進(jìn)行升級。

有了flyway,這些問題都能得到很好的解決。

使用了 Flyway 之后,如果再想進(jìn)行數(shù)據(jù)庫版本升級,就不用該以前的數(shù)據(jù)庫腳本了,直接創(chuàng)建新的數(shù)據(jù)庫腳本,項(xiàng)目在啟動(dòng)時(shí)檢測了有新的更高版本的腳本,就會自動(dòng)執(zhí)行,這樣,在和其他同事配合工作時(shí),也會方便很多。因?yàn)檎N覀兌际菑?Git 上拉代碼下來,不拉數(shù)據(jù)庫腳本,這樣要是有人更新了數(shù)據(jù)庫,其他同事不一定能夠收到最新的通知,使用了 Flyway 就可以有效避免這個(gè)問題了。

所有的腳本,一旦執(zhí)行了,就會在 flyway_schema_history 表中有記錄,如果你不小心搞錯(cuò)了,可以手動(dòng)從 flyway_schema_history 表中刪除記錄,然后修改 SQL 腳本后再重新啟動(dòng)(生產(chǎn)環(huán)境不建議)。

Flyway是如何工作的

Flyway工作流程如下:

1、項(xiàng)目啟動(dòng),應(yīng)用程序完成數(shù)據(jù)庫連接池的建立后,F(xiàn)lyway自動(dòng)運(yùn)行。

2、初次使用時(shí),F(xiàn)lyway會創(chuàng)建一個(gè)flyway_schema_history表,用于記錄sql執(zhí)行記錄。

3、Flyway會掃描項(xiàng)目指定路徑下(默認(rèn)是classpath:db/migration)的所有sql腳本,與flyway_schema_history表腳本記錄進(jìn)行比對。如果數(shù)據(jù)庫記錄執(zhí)行過的腳本記錄,與項(xiàng)目中的sql腳本不一致,F(xiàn)lyway會報(bào)錯(cuò)并停止項(xiàng)目執(zhí)行。

4、如果校驗(yàn)通過,則根據(jù)表中的sql記錄最大版本號,忽略所有版本號不大于該版本的腳本。再按照版本號從小到大,逐個(gè)執(zhí)行其余腳本。

項(xiàng)目中使用Flyway

首先,在pom文件中引入flyway的核心依賴包:

1、引入核心依賴包:

<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>5.2.4</version></dependency>

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

這里使用5.2.4版本。經(jīng)測試7.0.0版本與目前我們使用的springboot版本有沖突,會導(dǎo)致flyway不執(zhí)行。因此我們盡量不要使用高版本的flyway。

2、配置文件:

簡單配置一個(gè)屬性即可使用

# flyway 配置 spring: flyway: # 啟用或禁用 flyway enabled: true # flyway 的 clean 命令會刪除指定 schema 下的所有 table, 生產(chǎn)務(wù)必禁掉。這個(gè)默認(rèn)值是 false 理論上作為默認(rèn)配置是不科學(xué)的。 clean-disabled: true # SQL 腳本的目錄,多個(gè)路徑使用逗號分隔 默認(rèn)值 classpath:db/migration locations: classpath:db/migration # metadata 版本控制信息表 默認(rèn) flyway_schema_history table: flyway_schema_history # 如果沒有 flyway_schema_history 這個(gè) metadata 表, 在執(zhí)行 flyway migrate 命令之前, 必須先執(zhí)行 flyway baseline 命令 # 設(shè)置為 true 后 flyway 將在需要 baseline 的時(shí)候, 自動(dòng)執(zhí)行一次 baseline。 baseline-on-migrate: true # 指定 baseline 的版本號,默認(rèn)值為 1, 低于該版本號的 SQL 文件, migrate 時(shí)會被忽略 baseline-version: 1 # 字符編碼 默認(rèn) UTF-8 encoding: UTF-8 # 是否允許不按順序遷移 開發(fā)建議 true 生產(chǎn)建議 false out-of-order: false # 需要 flyway 管控的 schema list,這里我們配置為flyway 缺省的話, 使用spring.datasource.url 配置的那個(gè) schema, # 可以指定多個(gè)schema, 但僅會在第一個(gè)schema下建立 metadata 表, 也僅在第一個(gè)schema應(yīng)用migration sql 腳本. # 但flyway Clean 命令會依次在這些schema下都執(zhí)行一遍. 所以 確保生產(chǎn) spring.flyway.clean-disabled 為 true schemas: flyway # 執(zhí)行遷移時(shí)是否自動(dòng)調(diào)用驗(yàn)證 當(dāng)你的 版本不符合邏輯 比如 你先執(zhí)行了 DML 而沒有 對應(yīng)的DDL 會拋出異常 validate-on-migrate: true

flyway的properties配置清單(屬性未測試):

# 對執(zhí)行遷移時(shí)基準(zhǔn)版本的描述. flyway.baseline-description #當(dāng)遷移時(shí)發(fā)現(xiàn)目標(biāo)schema非空,而且?guī)в袥]有元數(shù)據(jù)的表時(shí),是否自動(dòng)執(zhí)行基準(zhǔn)遷移,默認(rèn)false. flyway.baseline-on-migrate =false #開始執(zhí)行基準(zhǔn)遷移時(shí)對現(xiàn)有的schema的版本打標(biāo)簽,默認(rèn)值為1. flyway.baseline-version=1 #檢查遷移腳本的位置是否存在,默認(rèn)false. flyway.check-location=false #當(dāng)發(fā)現(xiàn)校驗(yàn)錯(cuò)誤時(shí)是否自動(dòng)調(diào)用clean,默認(rèn)false. flyway.clean-on-validation-error=false #是否開啟flywary,默認(rèn)true. flyway.enabled=true #設(shè)置遷移時(shí)的編碼,默認(rèn)UTF-8. flyway.encoding #當(dāng)讀取元數(shù)據(jù)表時(shí)是否忽略錯(cuò)誤的遷移,默認(rèn)false. flyway.ignore-failed-future-migration #當(dāng)初始化好連接時(shí)要執(zhí)行的SQL. flyway.init-sqls #遷移腳本的位置,默認(rèn)db/migration. flyway.locations #是否允許無序的遷移,默認(rèn)false. flyway.out-of-order #目標(biāo)數(shù)據(jù)庫的密碼. flyway.password #設(shè)置每個(gè)placeholder的前綴,默認(rèn)${. flyway.placeholder-prefix #是否要被替換,默認(rèn)true. flyway.placeholder-replacementplaceholders #設(shè)置每個(gè)placeholder的后綴,默認(rèn)}. flyway.placeholder-suffix #設(shè)置placeholder的value flyway.placeholders.[placeholder name] #設(shè)定需要flywary遷移的schema,大小寫敏感,默認(rèn)為連接默認(rèn)的schema. flyway.schemas #遷移文件的前綴,默認(rèn)為V. flyway.sql-migration-prefix #遷移腳本的文件名分隔符,默認(rèn)__ flyway.sql-migration-separator #遷移腳本的后綴,默認(rèn)為.sql flyway.sql-migration-suffix #使用的元數(shù)據(jù)表名,默認(rèn)為schema_version flyway.tableflyway #遷移時(shí)使用的目標(biāo)版本,默認(rèn)為latest version flyway.target #遷移時(shí)使用的JDBC URL,如果沒有指定的話,將使用配置的主數(shù)據(jù)源 flyway.url #遷移數(shù)據(jù)庫的用戶名 flyway.user #遷移時(shí)是否校驗(yàn),默認(rèn)為true flyway.validate-on-migrate

flyway的yml配置清單(已測試,沒問題,推薦使用yml格式的配置文件)

# flyway 配置 spring: flyway: # 啟用或禁用 flyway enabled: true # flyway 的 clean 命令會刪除指定 schema 下的所有 table, 生產(chǎn)務(wù)必禁掉。這個(gè)默認(rèn)值是 false 理論上作為默認(rèn)配置是不科學(xué)的。 clean-disabled: true # SQL 腳本的目錄,多個(gè)路徑使用逗號分隔 默認(rèn)值 classpath:db/migration locations: classpath:db/migration # metadata 版本控制信息表 默認(rèn) flyway_schema_history table: flyway_schema_history # 如果沒有 flyway_schema_history 這個(gè) metadata 表, 在執(zhí)行 flyway migrate 命令之前, 必須先執(zhí)行 flyway baseline 命令 # 設(shè)置為 true 后 flyway 將在需要 baseline 的時(shí)候, 自動(dòng)執(zhí)行一次 baseline。 baseline-on-migrate: true # 指定 baseline 的版本號,默認(rèn)值為 1, 低于該版本號的 SQL 文件, migrate 時(shí)會被忽略 baseline-version: 1 # 字符編碼 默認(rèn) UTF-8 encoding: UTF-8 # 是否允許不按順序遷移 開發(fā)建議 true 生產(chǎn)建議 false out-of-order: false # 需要 flyway 管控的 schema list,這里我們配置為flyway 缺省的話, 使用spring.datasource.url 配置的那個(gè) schema, # 可以指定多個(gè)schema, 但僅會在第一個(gè)schema下建立 metadata 表, 也僅在第一個(gè)schema應(yīng)用migration sql 腳本. # 但flyway Clean 命令會依次在這些schema下都執(zhí)行一遍. 所以 確保生產(chǎn) spring.flyway.clean-disabled 為 true schemas: flyway # 執(zhí)行遷移時(shí)是否自動(dòng)調(diào)用驗(yàn)證 當(dāng)你的 版本不符合邏輯 比如 你先執(zhí)行了 DML 而沒有 對應(yīng)的DDL 會拋出異常 validate-on-migrate: true

spring.flyway.clean-disabled:這個(gè)屬性非常關(guān)鍵,它表示是否要清除已有庫下的表,如果執(zhí)行的腳本是 V1__xxx.sql,那么會先清除已有庫下的表,然后再執(zhí)行腳本,這在開發(fā)環(huán)境下還挺方便,但是在生產(chǎn)環(huán)境下就要命了,而且它默認(rèn)就是要清除,生產(chǎn)環(huán)境一定要自己配置設(shè)置為 true。

3、創(chuàng)建db/migration

因?yàn)閒lyway默認(rèn)是讀取resources/db/migration下的文件夾,如果我們需要修改這個(gè)路徑,可以在配置文件中實(shí)現(xiàn)

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

4、編寫sql文件

此處的SQL語句命名需要遵從一定的規(guī)范,否則運(yùn)行的時(shí)候flyway會報(bào)錯(cuò)。命名規(guī)則主要有兩種:

僅需要被執(zhí)行一次的SQL命名以大寫的'V'開頭,后面跟上'0~9'數(shù)字的組合,數(shù)字之間可以用“.”或者下劃線'_'分割開,然后再以兩個(gè)下劃線 __ 分割,其后跟文件名稱,最后以.sql結(jié)尾。比如,V20210707__create_user.sql、V20210707__add_user.sql。 可重復(fù)運(yùn)行的SQL,則以大寫的“R”開頭,后面再以兩個(gè)下劃線分割,其后跟文件名稱,最后以.sql結(jié)尾。。比如,R__truncate_user_dml.sql。

其中,V開頭的SQL執(zhí)行優(yōu)先級要比R開頭的SQL優(yōu)先級高。

V:固定大寫

20210707.01:20210707是日期,后面用.01代表序號

因?yàn)閒lyway的執(zhí)行是有個(gè)順序的,比如你執(zhí)行了V2021__create_user,又執(zhí)行V2020_update_user。就會報(bào)錯(cuò),原因就是2020<2021。所以我們要保證序號是依次增大。

Flyway 是如何比較兩個(gè) SQL 文件的先后順序呢?它采用 采用左對齊原則, 缺位用 0 代替 。舉幾個(gè)例子:

1.0.1.1 比 1.0.1 版本高。 ​ 1.0.10 比 1.0.9.4 版本高。 ​ 1.0.10 和 1.0.010 版本號一樣高, 每個(gè)版本號部分的前導(dǎo) 0 會被忽略。

__:這個(gè)是兩個(gè) _

create_user是一個(gè)簡單的sql描述

.sql:以.sql結(jié)尾的文件后綴是約定

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

我們只要在數(shù)據(jù)庫中創(chuàng)建flyway這個(gè)數(shù)據(jù)庫,啟動(dòng)項(xiàng)目,flyway就會執(zhí)行sql文件,創(chuàng)建user表,并且會自動(dòng)生成一個(gè)flyway_schema_history表

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

從這段啟動(dòng)日志中,我們可以看到 Flyway 的執(zhí)行信息,數(shù)據(jù)庫腳本的執(zhí)行執(zhí)行,同時(shí)這里還說了,F(xiàn)lyway 還給創(chuàng)建了一個(gè) flyway_schema_history 表,這個(gè)表用來記錄數(shù)據(jù)庫的更新歷史。

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

flyway_schema_history里面會去記錄sql文件的執(zhí)行記錄,每次啟動(dòng)項(xiàng)目,都會去flyway_schema_history看sql是否執(zhí)行過,如果沒有執(zhí)行過,說明這個(gè)sql是新的sql,就會自動(dòng)執(zhí)行,并且記錄到表里面。

flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法

有了這條記錄,下次再啟動(dòng)項(xiàng)目,V20210707.01、V20210707.02、V20210708.01 這個(gè)三個(gè)腳本文件就不會執(zhí)行了,因?yàn)橄到y(tǒng)知道這個(gè)腳本已經(jīng)執(zhí)行過了,如果你還想讓這些腳本再執(zhí)行一遍,需要手動(dòng)刪除 flyway_schema_history 表中的對應(yīng)記錄,那么項(xiàng)目啟動(dòng)時(shí),這個(gè)腳本就會被執(zhí)行了。

R開頭的文件和V開頭的文件略有不同,R開頭的文件只要發(fā)送修改,都會執(zhí)行一遍。V開頭的文件如果執(zhí)行過一般,在發(fā)送修改,就會報(bào)錯(cuò)。為了控制版本,我們盡量使用V開頭的文件,這樣我們也可以很清楚的看到每個(gè)版本中的sql文件。

常見問題

問題1

flyway遇到的問題Caused by: java.lang.ClassNotFoundException: org.flywaydb.core.api.callback.FlywayCallbac

原因:springboot版本和flyway版本不一致,一般是flyway版本過高。

解決辦法:將flyway的版本降到5.2.4就ok了

問題2

springboot 整合flyway 但是不生效,flyway不會自動(dòng)執(zhí)行sql

原因:如上

原因2:項(xiàng)目中沒有配置數(shù)據(jù)庫,沒有引入sq依賴或者配置

解決辦法:如上

解決辦法2:引入sql依賴,在yml文件中配置sql信息

問題3

flyway出錯(cuò) FlywayException: Validate failed: Detected failed migration to version

原因:sql腳本和數(shù)據(jù)庫中有沖突,需要檢查sql腳本哪里錯(cuò)了。簡單的說就是V開頭的sql文件,已經(jīng)執(zhí)行過了,在 flyway_schema_history 表里面有這個(gè)數(shù)據(jù),但是你又改動(dòng)了sql文件,導(dǎo)致再次執(zhí)行的時(shí)候報(bào)錯(cuò)。

解決辦法:新建一個(gè)sql文件,不要修改原來以V開頭的文件或者在flyway_schema_history表中找到文件相關(guān)執(zhí)行記錄,刪掉重新執(zhí)行。

作者:天下沒有收費(fèi)的bug出處:https://www.cnblogs.com/LoveBB/本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須在文章頁面給出原文鏈接,否則保留追究法律責(zé)任的權(quán)利。

到此這篇關(guān)于flyway實(shí)現(xiàn)java 自動(dòng)升級SQL腳本的問題及解決方法的文章就介紹到這了,更多相關(guān)java 自動(dòng)升級SQL腳本內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久久av| 久久国产精品免费一区二区三区 | 国产成人精品一区二区三区视频 | 91麻豆精品国产91久久久久久 | 国产精品一区二区三区av | 精品亚洲成a人片在线观看 国产高清在线 | zzzzyyyy精品国产| 成人免费视屏 | 欧美黑人一级爽快片淫片高清 | 欧美福利电影在线观看 | 91午夜伦伦电影理论片 | 亚洲人免费视频 | 国产欧美精品区一区二区三区 | 精久久 | 日韩成人短视频 | 伊人久操 | 色婷婷综合久久久中字幕精品久久 | 亚洲国产精品99久久久久久久久 | 国产毛片视频 | 亚洲国产一区视频 | 亚洲国产精品第一区二区 | 91在线 | 亚洲 | 免费av电影网站 | 亚州国产精品视频 | 成人av观看 | 99久久久国产精品 | 二区欧美| 欧美精品二区 | 国产亚洲精品美女久久久久久久久久 | 国产在线a| 国产日韩视频 | 91精品国产综合久久精品 | 精品久久久久久久久久 | 超碰人人艹 | 波多野结衣一区二区三区四区 | 成人亚洲精品 | 99精品九九 | 久久亚洲综合 | 亚洲国产精品一区二区第一页 | 刺激网 | 色视频网站在线观看一=区 日韩一二三区 | 国产主播久久 | 国产亚洲欧美在线 | 精品成人| 国产精品毛片一区二区在线看 | 男人天堂av网站 | 午夜视频 | 91在线观| 亚洲国产精品精华液网站 | 999精品 | 七七婷婷婷婷精品国产 | 免费看片色 | 中文字幕一区在线观看视频 | 中国电影黄色一级片免费观看 | 色999国产| 亚洲欧美一区二区三区视频 | 中文字幕在线视频网站 | 日韩精品专区在线影院重磅 | 精品视频网 | 日韩久久网站 | 国产高清视频一区二区 | 91久久夜色精品国产网站 | 懂色一区二区三区av片 | 亚洲视频综合 | 伊人免费观看视频 | 久久成人精品一区二区三区 | 中文字幕一区二区三区乱码图片 | www.99精品| 中文字幕自拍偷拍 | 成人免费高清 | 六月综合激情 | 欧美日韩中文字幕 | 亚洲成人黄色 | 国产三级在线观看 | 91视频.www| 欧美在线观看一区 | 亚洲 欧美 日韩在线 | 亚洲网站在线观看 | 九色在线| 日韩免费在线观看视频 | 一区二区三区成人久久爱 | 毛片站 | 国产一区日韩欧美 | 日本一二三区视频 | 暖暖成人免费视频 | 国产精品一区二区视频 | 精品久久网 | 精品一区二区三 | 精品国产31久久久久久 | 精品视频在线免费观看 | 91精品国产91久久久久久蜜臀 | 日本一本视频 | 精品1区| 精品三级在线观看 | 国产精品视频一区二区三区四蜜臂 | 国产成人午夜精品5599 | 久久精品高清视频 | 91亚洲精品久久久 | 日韩免费在线观看视频 | 欧美亚洲免费 | 羞羞视频免费看 | 1区2区3区视频 | 国产精品视频免费 | 99精品欧美一区二区三区综合在线 | 青青久久| 可以免费看黄视频的网站 | 亚洲精品自在在线观看 | 国产图区| 日韩不卡一区 | 一级毛片免费在线 | 精品亚洲国产成av人片传媒 | 在线视频 欧美日韩 | 日韩另类 | 成人欧美一区二区三区白人 | 国产一极毛片 | 午夜精品久久久久久久久 | 亚洲第一男人天堂 | 日韩特黄一级欧美毛片特黄 | 99久精品 | 日韩资源 | 国产噜噜噜噜噜久久久久久久久 | 中文字幕免费在线 | 欧美日韩在线免费观看 | 欧洲免费av | 国产乱码精品一区二区三区手机版 | 欧美精品一区二区三区在线播放 | 成人一区av | 日日爽天天操 | 天天操网| 中文字幕 国产精品 | 中文字幕精品一区久久久久 | 国内精品视频在线观看 | 国产精品视频一二三区 | 91一区在线 | 精品欧美| 国产精品一区二 | 欧美一区二区二区 | 欧美a区| 在线色av | 日韩精品一区二区三区在线观看 | 日韩喷潮 | 亚洲精品一区二三区不卡 | 精品美女在线 | www.欧美亚洲| 国产在线高清 | 91成人短视频在线观看 | 国产一区在线不卡 | 国产亲子乱弄免费视频 | 久久国产精品亚洲 | 精品三级在线观看 | 亚洲女人天堂av | 久久久成人精品视频 | 亚洲视频一区在线 | 日韩亚洲视频 | 亚洲男人天堂网 | 亚洲日本韩国在线观看 | 久久亚洲一区二区三区四区五区高 | 久久精品日产高清版的功能介绍 | 久久麻豆视频 | 在线观看的av | 久久99精品久久久久久青青日本 | 日韩小视频在线播放 | 欧美精品1区2区3区 国产女无套免费网站 | 蜜桃精品在线观看 | 欧美一级成人欧美性视频播放 | 成人欧美一区二区 | 国产亚洲精品久久久久久久久 | 亚洲男人天堂网 | 最新亚洲黄色网址 | 久久99国产精品久久99果冻传媒 | 欧美精品在线一区二区三区 | 国产视频久久久久久久 | 日韩av在线免费电影 | 超碰在线播| 亚洲一区中文字幕在线观看 | 国产一区二区三区视频在线观看 | 国产精品综合一区二区 | 国产成人精品在线 | 亚洲午夜剧场 | 天天干女人网 | 久久精品视 | 日韩一区二区不卡 | 91精品国产91久久久久久最新 | 久久99深爱久久99精品 | 国产精品18久久久久久久久 | 中文字幕亚洲一区二区三区 | 欧美精品一区三区 | 日韩在线不卡一区 | 亚洲一区二区三区久久久 | 国产一区二区在线免费观看 | 九九色综合| 99热.com| 成人免费视频在线观看 | 亚洲精品乱码久久久久久麻豆不卡 | 国产综合久久久久久鬼色 | 精品毛片 | 中文字幕视频 | 999精品免费| 美女国产精品 | 欧美在线观看一区 | 爱福利视频| 99国产精品视频免费观看一公开 | av日韩在线看 | 成人一区二区电影 | 欧美精品一二三 | 99久久免费精品国产男女性高好 | 成人影院网站ww555久久精品 | 亚洲精品资源在线观看 | 日本中文字幕一区 | 欧美大片黄| 日韩在线视频一区 | 国偷自产一区二区免费视频 | 国产精品观看 | 久久久久久久国产 | 精品久久久久久久人人人人传媒 | 久在线观看 | 天天干天天搞天天射 | 一区二区三区av | 欧美日本国产欧美日本韩国99 | 久久久久久久久久久亚洲 | 久久porn| 日本三级中国三级99人妇网站 | 亚洲在线成人 | 99精品全国免费观看视频软件 | 国产欧美在线观看 | 日本久久精品电影 | 中文字幕第33页 | 欧美成人精品激情在线观看 | 色五月激情五月 | 国产精品2019 | 成人网址在线观看 | 国产高清一级 | 91精品国产高清自在线观看 | 久久va | 中文字幕久久精品 | 日韩精品视频在线观看免费 | av自拍 | 亚洲 中文 欧美 日韩在线观看 | 91精品国产91久久久久久密臀 | 午夜影视免费观看 | 久久久久综合 | 日韩城人免费 | 99亚洲精品 | 日本 国产 欧美 | 国产在线一区二区三区 | 亚洲一区二区三区免费 | 精品国产91亚洲一区二区三区www | 99精品视频在线免费观看 | 色网在线观看 | 久久久久国产 | 中文字幕一区二区三区免费视频 | 国产精品美女在线观看 | 成人不卡在线 | 久久精品一区 | 欧美日本韩国一区二区 | 中文字幕一区日韩精品欧美 | 91p在线观看| 国产成人jvid在线播放 | 中文字幕一区在线观看视频 | 狠狠干网站| 中文字幕一区二区三区乱码在线 | 来个毛片| 国产成人久久精品一区二区三区 | 一区二区三区四区精品 | 1000部羞羞视频在线看视频 | 欧美一卡二卡在线观看 | 狠狠干影院 | 91精品国产综合久久精品 | 美女又黄又免费 | 超碰成人在线免费 | 天堂影院一区二区 | 激情综合久久 | 欧美激情一区二区三区蜜桃视频 | 亚洲精品久久久 | 国产精品一区一区三区 | 久草视频在线播放 | 精品久久久久久久久久久久 | 亚洲二区视频 | 午夜久久久久 | 欧美日韩国产一区二区三区在线观看 | 天天操网址 | 亚洲成人精品av | 欧美日韩一级电影 | 国产成人在线一区二区 | 亚洲精品久久久一区二区三区 | 亚洲综合二区 | 国产女人和拘做受视频 | 亚洲国产区 | 欧美一区二区视频 | 亚洲经典视频在线观看 | 色视频网站在线观看一=区 日韩一二三区 | 日韩超碰在线观看 | 日本特黄特色aaa大片免费 | 欧美视频在线一区 | 999久久久国产精品 免费视频一区 | 日本不卡一区二区三区在线观看 | 亚洲专区中文字幕 | 国产精品久久久久久婷婷天堂 | 欧美一区二区三区在线视频观看 | 一级毛片视频 | 国产日韩亚洲欧美 | 国产一区二区在线观看视频 | 亚洲欧美综合 | 久久人 | 日韩av在线中文字幕 | 91在线观看 | 在线免费黄色 | 久久成人国产 | 亚洲免费视频在线观看 | 亚洲一区丝袜 | 日韩在线精品 | 欧美日韩高清 | 一区二区三区免费 | 亚洲精品国品乱码久久久久 | 国产日韩免费 | 国产一区二区久久 | 中文字幕精品一区二区三区精品 | 精品国产一区二区三区成人影院 | 91精品国产91久久久久久密臀 | 午夜精品一区二区三区在线视频 | 91免费观看国产 | 精品免费国产视频 | a视频在线免费观看 | 国产精品无码久久久久 | 久久久久久亚洲精品 | 成av在线 | 国产精品国产精品国产专区不卡 | 国产精品久久久99 | 国产一区二区三区在线免费观看 | 午夜精品一区二区三区在线观看 | 欧美精品1 | 亚洲一区二区中文 | 国内外成人在线视频 | 五月婷婷在线观看视频 | 另类中文字幕 | 天堂中文av | 国产精品久久精品 | 欧美全黄 | 青草久操 | 欧美国产精品一区二区 | 国产视频一区二区三区四区 | 亚洲欧美一区二区三区在线 | 成人精品一区二区三区 | 国产情侣免费视频 | 久久中文字幕一区二区 | 九九久久精品 | 欧美日韩一区在线 | 毛片一区二区 | 美女扒开内裤让男人桶 | 久久久久9999国产精品 | av黄色在线播放 | 国产福利91精品一区二区三区 | 成人一级片视频 | 91久久久久久久久久久 | 成人av网址在线观看 | 神马久久久久久久 | 一区二区日本 | 亚洲一区二区在线 | 亚洲一区二区三区在线免费观看 | 久久伦理电影 | 国产精品久久久久久久久久久久久 | 精品美女在线 | 免费国产黄 | 一区二区三区 在线 | 日韩一日| 精品国产一区二区国模嫣然 | 欧美成人一区二区三区片免费 | 日p视频免费看 | 国产成人一区二区 | 国产精品成人久久久久 | 一区二区三区四区在线 | 在线观看国产小视频 | 日韩一片 | 黄色一级毛片 | 一区二区三区免费看 | 黄色一级大片在线免费看产 | 午夜精品一区二区三区免费视频 | 国产精品成人3p一区二区三区 | 韩国电影久久影院 | 日本亚洲精品成人欧美一区 | 欧美日韩中文字幕 | 国产精品1区2区在线观看 | 国产精品久久久久无码av | 色玖玖综合 | 欧美日韩高清不卡 | 91精品国产乱码久久久久久久久 | 91p在线观看 | 亚洲视频中文字幕 | 亚洲免费一区 | 日韩精品一区二区三区在线观看 | 日韩免费在线观看视频 | 亚洲国产高清在线 | 中文字幕色 | 精品在线视频一区 | 国产精品久久久久久久久久久久冷 | 永久免费网站 | 国产一区二区三区免费视频 | 欧美成人综合 | 国产精品一区av | 欧美日韩中文字幕在线 | 国产精品乱码一区二区三区 | 91精品国产综合久久久久久丝袜 | 亚洲高清网 | 最新久久精品 | 一区二区三区不卡视频 | 在线视频不卡一区 | 麻豆一区一区三区四区 | 日本亚洲欧美 | 亚洲国产日韩一区 | 手机在线观看av | 精品久久久久久久 | 成人高清视频在线 | 欧美日韩中文字幕在线 | 91久久精品国产亚洲a∨麻豆 | 成人在线播放 | 久久这里只有精品23 | 亚洲国产精品一区二区久久 | 国产一区二区三区视频在线观看 | t66y最新地址一地址二69 | 国产男女做爰免费网站 | 久久国产成人 | 黄色地址| 久久免费视频3 | 国产精品成人在线观看 | 天堂一区二区三区 | 亚洲国产中文字幕 | 国产精品久久久久久久久久久小说 | 免费观看欧美一级 | 中文字幕一区二区三区四区 | 免费的黄色毛片 | 日本毛片视频 | 欧美视频二区 | 久久作爱视频 | 在线免费国产 | 毛片在线看片 | 91精品中文字幕一区二区三区 | 精品国产不卡一区二区三区 | 在线免费视频成人 | 欧美精品一区二区三区手机在线 | 久久久久久久久一区二区 | 日韩免费 | 另类五月天 | 久一在线 | 特级黄一级播放 | 奇米影| 国产乱码精品一区二区三区中文 | 久久男人天堂 | 日日撸 | 亚洲精选久久 | 91欧美激情一区二区三区成人 | 久久久久久久中文 | av免费观看网站 | 欧美日韩在线观看中文字幕 | 欧美日韩精品一二区 | 99成人 | 美女一区 | 在线观看毛片视频 | 国产一区二区三区在线免费观看 | 午夜剧| 亚洲高清在线观看 | 91精品国产综合久久久久久 | 日韩欧美综合 | 日韩成人在线电影 | 99久久精品一区二区 | 精品欧美乱码久久久久久 | 久久伊人久久 | 成人在线视频网站 | 日韩在线免费 | 国产午夜精品久久 | 中文字幕视频一区 | 久久久久99精品国产片 | 中文字幕亚洲欧美 | 国产精品久久久久久久久久久久久久 | 久久成人国产 | 91久久久www播放日本观看 | 国产成人av在线播放 | 欧美天堂在线观看 | 国产片一区二区三区 | 国产一区精品视频 | 91久久艹 | 精久久久| av一级在线观看 | 欧美精品一区二区久久 | 精品成人| 美女久久久| 亚洲成人av在线 | 国产精自产拍久久久久久 | 亚洲高清一区二区三区 | 亚洲精品日本 | 国产精品a久久 | 一区二区三区欧美 | 国产在线一区观看 | www.国产 | 亚洲成年 | 精品国产91乱码一区二区三区 | 亚洲一区二区精品视频 | 久久九 | 亚洲欧美日韩另类精品一区二区三区 | 亚洲二区在线观看 | 国产精品一码二码三码在线 | 91久久国产精品 | 精品国产一区二区三区在线观看 | 在线观看国产视频 | 韩国三级午夜理伦三级三 | 日韩欧美视频一区二区三区 | 亚洲精品自拍视频 | 色婷婷亚洲一区二区三区 | 午夜久久乐| 欧美午夜在线 | 天天干一干 | 国产欧美综合一区二区三区 | 久色| 一区二区视频免费 | 亚洲一区久久久 | 久久久国产一区二区 | 亚洲va欧美va天堂v国产综合 | 一区视频网站 | 亚洲精品一区二区三区麻豆 | 成人午夜在线视频 | 国产黄色大片 | 黄色a视频 | aaa在线| 久久综合一区二区 | 日韩精品999| 一区二区三区精品 | 日韩久久精品 | 亚洲国产精品一区二区久久,亚洲午夜 | 午夜在线 | 亚洲一区二区三区视频 | 中文字幕第66页 | 精品无人乱码一区二区三区 | 欧美午夜一区二区三区免费大片 | 日本不卡在线 | 久久久久久极品 | 国产97久久 | 一区二区免费 | 福利影院在线观看 | 亚洲美女性视频 | 国产午夜精品一区二区三区 | 亚洲日本精品视频 | 亚洲一区视频在线播放 | 国产一区二区三区在线 | 欧美一级免费播放 | 91精品久久久久久久久 | 日本高清视频在线播放 | 天堂中文网官网 | 国产成人免费视频网站高清观看视频 | 天天干天天谢 | 久久91av| 久久久久久久久久久久国产精品 | av中文字幕在线观看 | 奇米影视7777 | 精品久久一区二区 | 亚洲国产一区二区三区四区 | 四虎成人在线播放 | 精品国产一区二区在线 | 免费一二区 | 亚洲国产成人av好男人在线观看 | 日本一区二区不卡视频 | 亚洲aⅴ天堂av在线电影软件 | 性处破╳╳╳高清欧美 | 精品福利在线视频 | 91玖玖| 国产在线观看 | 天天澡天天狠天天天做 | 久久久精品综合 | 欧美一级性 | 在线观看免费视频a | 欧美在线视频不卡 | 国产视频三区 | 精品国产一区二区三区免费 | 天天操天天操 | 亚洲午夜激情网 | 精品国产一区二区在线 | 91色乱码一区二区三区 | 青娱乐国产精品视频 | 欧美成人影院在线 | 亚洲视频在线免费观看 | 色综合久久久久久久久久久 | 伊人一区二区三区 | 成人影院av | 最新国产视频 | 免费看的毛片 | 伊人色播 | 国产欧美一区二区精品婷 | 精品免费视频 | 91亚洲国产| 午夜成年人 | 黄色免费观看 | 欧美一区视频 | 久久人人爽人人爽人人片av不 | 国产高潮失禁喷水爽网站 | 欧美视频免费在线 | 久久久久亚洲精品 | 永久看片 | 日日夜夜av | 国产成人免费视频网站高清观看视频 | 99久久99 | 欧美污污| 日韩一区免费在线观看 | 日韩欧美中文字幕在线视频 | 一级片在线免费看 | 日韩高清在线 | 亚洲一区二区 | 青青久久久 | 精产国产伦理一二三区 | 国产亚洲精品综合一区91555 | 成人做爰69片免费 | 成人精品视频99在线观看免费 | 亚洲一区二区在线 | 日日爱视频 | 国产精品99久久久久久动医院 | 亚洲jizzjizz日本少妇 | 欧美视频区 | 国产欧美日韩在线 |