11use pretty_assertions:: assert_eq;
2- use sqlx:: SqlitePool ;
3- use sqlx:: sqlite:: SqlitePoolOptions ;
42use std:: collections:: HashMap ;
53
64use sea_schema:: sea_query:: {
75 ColumnDef , Expr , ForeignKey , ForeignKeyAction , ForeignKeyCreateStatement , Index , Query ,
86 SqliteQueryBuilder , Table , TableCreateStatement , TableName , TableRef ,
97} ;
10- use sea_schema:: sqlite:: {
11- def:: TableDef ,
12- discovery:: { DiscoveryResult , SchemaDiscovery } ,
8+ use sea_schema:: {
9+ sqlite:: {
10+ def:: TableDef ,
11+ discovery:: { DiscoveryResult , SchemaDiscovery } ,
12+ } ,
13+ sqlx_types:: { connect_sqlite, execute_sqlite} ,
1314} ;
1415
1516#[ cfg_attr( test, async_std:: test) ]
@@ -29,21 +30,18 @@ async fn main() -> DiscoveryResult<()> {
2930async fn test_001 ( ) -> DiscoveryResult < ( ) > {
3031 let url = std:: env:: var ( "DATABASE_URL_LIVE" ) . unwrap_or_else ( |_| "sqlite::memory:" . to_owned ( ) ) ;
3132
32- let sqlite_pool = SqlitePoolOptions :: new ( ) . connect ( & url) . await . unwrap ( ) ;
33+ let pool = connect_sqlite ( & url) . await . unwrap ( ) ;
3334
3435 //DROP TABLES to ensure all tests pass
35- sqlx:: query ( "DROP TABLE IF EXISTS Programming_Langs" )
36- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
36+ execute_sqlite ( & pool, "DROP TABLE IF EXISTS Programming_Langs" )
3737 . await
3838 . unwrap ( ) ;
3939
40- sqlx:: query ( "DROP TABLE IF EXISTS suppliers" )
41- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
40+ execute_sqlite ( & pool, "DROP TABLE IF EXISTS suppliers" )
4241 . await
4342 . unwrap ( ) ;
4443
45- sqlx:: query ( "DROP TABLE IF EXISTS supplier_groups" )
46- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
44+ execute_sqlite ( & pool, "DROP TABLE IF EXISTS supplier_groups" )
4745 . await
4846 . unwrap ( ) ;
4947
@@ -99,18 +97,15 @@ async fn test_001() -> DiscoveryResult<()> {
9997 . to_owned ( ) ;
10098
10199 //DROP TABLES to ensure all tests pass
102- sqlx:: query ( "DROP TABLE IF EXISTS Programming_Langs" )
103- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
100+ execute_sqlite ( & pool, "DROP TABLE IF EXISTS Programming_Langs" )
104101 . await
105102 . unwrap ( ) ;
106103
107- sqlx:: query ( "DROP TABLE IF EXISTS suppliers" )
108- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
104+ execute_sqlite ( & pool, "DROP TABLE IF EXISTS suppliers" )
109105 . await
110106 . unwrap ( ) ;
111107
112- sqlx:: query ( "DROP TABLE IF EXISTS supplier_groups" )
113- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
108+ execute_sqlite ( & pool, "DROP TABLE IF EXISTS supplier_groups" )
114109 . await
115110 . unwrap ( ) ;
116111
@@ -159,47 +154,45 @@ async fn test_001() -> DiscoveryResult<()> {
159154 . unwrap ( )
160155 . to_owned ( ) ;
161156
162- sqlx:: query ( & create_table. to_string ( SqliteQueryBuilder ) )
163- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
157+ execute_sqlite ( & pool, & create_table. to_string ( SqliteQueryBuilder ) )
164158 . await
165159 . unwrap ( ) ;
166160
167- sqlx:: query ( & create_table_inventors. to_string ( SqliteQueryBuilder ) )
168- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
161+ execute_sqlite ( & pool, & create_table_inventors. to_string ( SqliteQueryBuilder ) )
169162 . await
170163 . unwrap ( ) ;
171164
172- sqlx:: query ( & insert_into_table. to_string ( SqliteQueryBuilder ) )
173- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
165+ execute_sqlite ( & pool, & insert_into_table. to_string ( SqliteQueryBuilder ) )
174166 . await
175167 . unwrap ( ) ;
176168
177- sqlx:: query ( & table_create_supplier_groups. to_string ( SqliteQueryBuilder ) )
178- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
179- . await
180- . unwrap ( ) ;
169+ execute_sqlite (
170+ & pool,
171+ & table_create_supplier_groups. to_string ( SqliteQueryBuilder ) ,
172+ )
173+ . await
174+ . unwrap ( ) ;
181175
182- sqlx:: query ( & table_create_suppliers. to_string ( SqliteQueryBuilder ) )
183- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
176+ execute_sqlite ( & pool, & table_create_suppliers. to_string ( SqliteQueryBuilder ) )
184177 . await
185178 . unwrap ( ) ;
186179
187- sqlx:: query ( & insert_into_supplier_groups. to_string ( SqliteQueryBuilder ) )
188- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
189- . await
190- . unwrap ( ) ;
180+ execute_sqlite (
181+ & pool,
182+ & insert_into_supplier_groups. to_string ( SqliteQueryBuilder ) ,
183+ )
184+ . await
185+ . unwrap ( ) ;
191186
192- sqlx:: query ( & insert_into_suppliers. to_string ( SqliteQueryBuilder ) )
193- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
187+ execute_sqlite ( & pool, & insert_into_suppliers. to_string ( SqliteQueryBuilder ) )
194188 . await
195189 . unwrap ( ) ;
196190
197- sqlx:: query ( & create_index. to_string ( SqliteQueryBuilder ) )
198- . fetch_all ( & mut * sqlite_pool. acquire ( ) . await . unwrap ( ) )
191+ execute_sqlite ( & pool, & create_index. to_string ( SqliteQueryBuilder ) )
199192 . await
200193 . unwrap ( ) ;
201194
202- let schema = SchemaDiscovery :: new ( sqlite_pool . clone ( ) ) . discover ( ) . await ?;
195+ let schema = SchemaDiscovery :: new ( pool ) . discover ( ) . await ?;
203196
204197 let expected_sql = [
205198 create_table. to_string ( SqliteQueryBuilder ) ,
@@ -238,8 +231,7 @@ async fn test_001() -> DiscoveryResult<()> {
238231async fn test_002 ( ) -> DiscoveryResult < ( ) > {
239232 let url = std:: env:: var ( "DATABASE_URL_LIVE" ) . unwrap_or_else ( |_| "sqlite::memory:" . to_owned ( ) ) ;
240233
241- let connection = SqlitePool :: connect ( & url) . await . unwrap ( ) ;
242- let mut executor = connection. acquire ( ) . await . unwrap ( ) ;
234+ let connection = connect_sqlite ( & url) . await . unwrap ( ) ;
243235
244236 let tbl_create_stmts = vec ! [
245237 create_bakery_table( ) ,
@@ -256,7 +248,7 @@ async fn test_002() -> DiscoveryResult<()> {
256248
257249 for tbl_create_stmt in tbl_create_stmts. iter ( ) {
258250 let sql = tbl_create_stmt. to_string ( SqliteQueryBuilder ) ;
259- sqlx :: query ( & sql ) . execute ( & mut * executor ) . await . unwrap ( ) ;
251+ execute_sqlite ( & connection , & sql ) . await . unwrap ( ) ;
260252 }
261253
262254 let schema_discovery = SchemaDiscovery :: new ( connection) ;
0 commit comments