Codegen parse column unique key from index
This commit is contained in:
parent
6861802a6d
commit
06a26ace2e
@ -22,7 +22,7 @@ clap = { version = "^2.33.3" }
|
||||
dotenv = { version = "^0.15" }
|
||||
async-std = { version = "^1.9", features = [ "attributes" ] }
|
||||
sea-orm-codegen = { version = "^0.2.3", path = "../sea-orm-codegen" }
|
||||
sea-schema = { version = "^0.2.8", default-features = false, features = [
|
||||
sea-schema = { version = "^0.2.8", git = "https://github.com/SeaQL/sea-schema.git", branch = "sea-query/idx-is-unique-key", default-features = false, features = [
|
||||
"debug-print",
|
||||
"sqlx-mysql",
|
||||
"sqlx-postgres",
|
||||
|
@ -15,7 +15,7 @@ name = "sea_orm_codegen"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
sea-query = { version = "^0.16.2" }
|
||||
sea-query = { version = "^0.16.2", git = "https://github.com/SeaQL/sea-query.git", branch = "idx-is-unique-key" }
|
||||
syn = { version = "^1", default-features = false, features = [
|
||||
"derive",
|
||||
"parsing",
|
||||
|
@ -33,6 +33,17 @@ impl EntityTransformer {
|
||||
.get_columns()
|
||||
.iter()
|
||||
.map(|col_def| col_def.into())
|
||||
.map(|mut col: Column| {
|
||||
col.unique = table_create
|
||||
.get_indexes()
|
||||
.iter()
|
||||
.filter(|index| index.is_unique_key())
|
||||
.map(|index| index.get_index_spec().get_column_names())
|
||||
.filter(|col_names| col_names.len() == 1 && col_names[0] == col.name)
|
||||
.count()
|
||||
> 0;
|
||||
col
|
||||
})
|
||||
.collect();
|
||||
let relations = table_create
|
||||
.get_foreign_key_create_stmts()
|
||||
|
Loading…
x
Reference in New Issue
Block a user