Skip to content

Commit

Permalink
✅ scaffold from create table with multi column index
Browse files Browse the repository at this point in the history
  • Loading branch information
Odonno committed May 13, 2023
1 parent ada5a26 commit 317ed1b
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 2 deletions.
8 changes: 8 additions & 0 deletions schema-files/mssql/create_table_with_multi_column_index.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
CREATE TABLE Product (
[Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY,
[Name] NVARCHAR(255),
[Color] NVARCHAR(255),
[Size] NVARCHAR(255),
);

CREATE INDEX Vote_Name_Color_Size ON Product (Name, Color, Size);
38 changes: 36 additions & 2 deletions tests/cli/scaffold/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -375,9 +375,43 @@ DEFINE INDEX IX_DailySales_Sales ON daily_sales COLUMNS date;

#[test]
#[serial]
#[ignore]
fn scaffold_from_create_table_with_multi_column_index() -> Result<()> {
todo!();
clear_files_dir()?;

let mut cmd = create_cmd()?;

cmd.arg("scaffold")
.arg("schema")
.arg("schema-files/mssql/create_table_with_multi_column_index.sql")
.arg("--db-type")
.arg("mssql");

cmd.assert().success();

assert!(is_file_exists(
"tests-files/schemas/script_migration.surql"
)?);

let schema_files = std::fs::read_dir("tests-files/schemas")?;
assert_eq!(schema_files.count(), 2);

let user_schema = std::fs::read_to_string("tests-files/schemas/product.surql")?;
assert_eq!(
user_schema,
"DEFINE TABLE product SCHEMALESS;
DEFINE FIELD id ON product ASSERT $value != NONE;
DEFINE FIELD name ON product TYPE string;
DEFINE FIELD color ON product TYPE string;
DEFINE FIELD size ON product TYPE string;
DEFINE INDEX Vote_Name_Color_Size ON product COLUMNS name, color, size;
"
);

assert!(is_empty_folder("tests-files/events")?);
assert!(is_empty_folder("tests-files/migrations")?);

Ok(())
}

#[test]
Expand Down

0 comments on commit 317ed1b

Please sign in to comment.