From 8e466b3e82398e29a7ec6376ab8ed0b1df52dd26 Mon Sep 17 00:00:00 2001 From: kyoto7250 <50972773+kyoto7250@users.noreply.github.com> Date: Sun, 30 Jun 2024 22:13:46 +0900 Subject: [PATCH] use sql from sqlite_master for checking table definition --- src/database/sqlite.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/database/sqlite.rs b/src/database/sqlite.rs index 89db20a..9c1a3a1 100644 --- a/src/database/sqlite.rs +++ b/src/database/sqlite.rs @@ -421,10 +421,11 @@ impl Pool for SqlitePool { Ok(foreign_keys) } - async fn get_definition(&self, database: &Database, table: &Table) -> anyhow::Result { - let query = format!("SHOW CREATE TABLE `{}`.`{}`;", database.name, table.name); - let row = sqlx::query(query.as_str()).fetch_one(&self.pool).await?; - Ok(row.get::(1)) + async fn get_definition(&self, _database: &Database, table: &Table) -> anyhow::Result { + let query = sqlx::query("SELECT sql FROM sqlite_master WHERE type='table' AND name=?;") + .bind(&table.name); + let row = query.fetch_one(&self.pool).await?; + Ok(row.get::(0)) } async fn close(&self) { self.pool.close().await;