94 Commits

Author SHA1 Message Date
Billy Chan
08a5e87e22
Replace SeaORM's ColumnType (#1395)
* Replace SeaORM's `ColumnType`

* Bump SeaQuery's version

* Fix merge conflict

* refactor
2023-01-29 11:06:01 +08:00
Billy Chan
71dbffc725
Fix clippy (#1426)
* Fix clippy

* Fix clippy
2023-01-27 18:50:20 +08:00
Forest Anderson
bb39684f48
Add JsonBinary attribute (#1346)
* Add JsonBinary attribute to column

* Add Postgres test section, test binary json

* Added expanded entity format test

* Fixed unit test
2023-01-18 19:09:01 +08:00
Billy Chan
cbd7a8d1c9
Cleanup the use of vec![] (#1367)
* Public methods accept any IntoIterator as argument

* refactoring
2023-01-11 14:17:06 +08:00
Billy Chan
e246d3faaf
Cont. Upgrade to SeaQuery 0.28.0 (#1366)
* Upgrade to SeaQuery 0.28.0

* Remove unnecessary heap allocation

* Upgrade sea-query-binder

* Upgrade sea-schema

* Fix

* Upgrade sea-schema

* refactoring

Co-authored-by: Ivan Krivosheev <py.krivosheev@gmail.com>
2023-01-05 20:41:28 +08:00
Billy Chan
384ac1bea6
Cont. sea-orm-cli Implement derives & attributes parameters for entity generation (#1321)
* sea-orm-cli Implement derives & attributes parameters for entity generation (#1124)

* implement derives & attributes for cli

* fmt and clippy fix

* use comma delimiter for attributes arg

* Update help message use `'` instead of `"` to quote

* Refactoring

* remove unnecessary cloning

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>

* [CLI] generate model with extra derives and attributes

* clippy

Co-authored-by: Isaiah Gamble <77396670+tsar-boomba@users.noreply.github.com>
2022-12-20 12:59:42 +08:00
Billy Chan
9282ce2ded
Cont. Add serde skip options for hidden columns to the CLI (#1320)
* Add serde skip options for hidden columns to the CLI (#1171)

* Add serde skip options for hidden columns to the CLI

* Resolve rustfmt and clippy issues

* Use SerdeDeriveOptions instead of WithSerde in tests

* Resolve upstream conflict

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>

* [CLI] serde_skip_hidden_column

* clippy

* clippy

Co-authored-by: Jacob Trueb <jtrueb@northwestern.edu>
2022-12-20 00:43:21 +08:00
Billy Chan
3f00725ee2
Cli serde skip deserialize for primary key option (#1186) (#1318)
* Cli serde skip deserialize for primary key option (#1186)

* Add CLI option to skip primary keys with serde

Implements: https://github.com/SeaQL/sea-orm/issues/841

* Codegen: fix tests

* complete skip_deserialize cli feature

* run fmt

* fix tests

Co-authored-by: witcher <witcher@wiredspace.de>

* [cli] should be `#[serde(skip_deserializing)]`

* [CLI] code refactor

* [cli] rename

Co-authored-by: Isaiah Gamble <77396670+tsar-boomba@users.noreply.github.com>
Co-authored-by: witcher <witcher@wiredspace.de>
2022-12-19 22:11:45 +08:00
Billy Chan
8982d88774
Skip implementing Related if the same related entity is being referenced by a conjunct relation (#1298) 2022-12-17 12:52:04 +08:00
Billy Chan
ccca35ab1a
clippy 2022-12-16 16:48:16 +08:00
jiayi
8e888eda7b
generate Related for many-to-many relation with extra columns (#1260) 2022-12-01 13:14:20 +08:00
Billy Chan
a7c8970800
[sea-orm-cli] generate entity with relation variant order by name of reference table (#1229) 2022-11-24 12:15:31 +08:00
Billy Chan
1b2834137b
[CLI] Fix generating Enum with variant starts with number (#1211) 2022-11-09 15:02:01 +08:00
frederikhors
9af5885632
Update writer.rs (#1174)
Fixes https://github.com/SeaQL/sea-orm/issues/1173
2022-11-04 18:37:44 +08:00
Billy Chan
5e0c625ac0
Fix - vector of float & double does not derive Eq (#1158)
* Fix - vector of float & double does not derive Eq

* clippy

Co-authored-by: Chris Tsang <chris.2y3@outlook.com>
2022-10-27 00:40:03 +08:00
Andrey Kutejko
7e92876feb
Escape Rust keywords used in table names (#1052)
* Escape Rust keywords used in table names

* Escape rust keyword when generating conjunct relation impl

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
2022-10-26 11:22:08 +08:00
Billy Chan
a3fb8e8b0d
[cli] generate Related for m-to-n relation (#1075) 2022-10-26 11:20:33 +08:00
Billy Chan
b5b9790252
Support array datatype in PostgreSQL (#1132)
* PostgreSQL array (draft)

* Fixup

* Fixup

* Fixup

* Fixup

* Fixup

* Refactoring

* generate entity for Postgres array fields

* Add tests

* Update Cargo.toml

Co-authored-by: Chris Tsang <chris.2y3@outlook.com>
2022-10-23 18:26:57 +08:00
Billy Chan
29da37b4f2
Merge branch 'master' into sea-query-v0.27 2022-10-17 17:53:41 +08:00
Billy Chan
f3b7febc2e
Edit test case 2022-09-25 10:43:50 +08:00
Lingxiang "LinG" Wang
a349f13fd7
Struct / enum derive PartialEq should also derive Eq (#988)
* add Eq

* Fix clippy warnings

* Fix test cases

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
2022-09-25 10:38:05 +08:00
Horu
6816e86f4d
[cli] Add -l/--lib flag (#953)
* [cli] Add `-l`/`--lib` flag

* [cli] Change function name to reflect functionality
2022-09-25 10:31:26 +08:00
Billy Chan
6ba8e1b9f1
DeriveRelation on empty Relation enum (#1019) 2022-09-25 10:17:39 +08:00
Billy Chan
77bddd85a5
Fixup 2022-09-22 15:07:37 +08:00
Billy Chan
43495de0aa
Fix clippy warnings - 1 (#967)
* Fix clippy warnings

* cargo fmt

* Fix clippy warnings

* cargo fmt
2022-08-12 20:02:53 +08:00
Erik Rhodes
5fbc336de0 [cli] added with-copy-enums flag to cli and conditional derive 2022-08-06 16:45:28 +08:00
Billy Chan
f6672137a2
cargo fmt 2022-07-26 12:20:40 +08:00
Anshul Chauhan
b566ea6e12
Update get_info method to respect date-time crate (#910)
Refer https://github.com/SeaQL/sea-orm/issues/869
2022-07-26 12:19:43 +08:00
Billy Chan
13d2abf5a8
Codegen supports VarBinary column type (#746)
* [cli]: codegen supports `VarBinary` column type

* Fixup
2022-07-17 18:05:39 +08:00
Billy Chan
c5aa63e282
Generate entity files with PostgreSQL's schema name (#422)
* feat(codegen): generate entity files with PostgreSQL's schema name

* Ignore schema name `public`

* Restore changes

* Fix test cases

* cargo fmt

* [cli] fixup
2022-07-11 23:11:04 +08:00
Chris Tsang
a24df5a91e Tweaks & fmt 2022-07-11 00:03:40 +08:00
Billy Chan
65017bdc08
Add various blob column types with size (#850) 2022-07-10 22:52:50 +08:00
Nahua
a1bf662fc3
#661: Add flag to sea-orm-cli to generate code for time crate (#724)
* Implement entity writer context and date time crate enum

* Use entity writer context to render correct rust type according to chrono/time enum

* Add unit test to get col rs type with time crate

* Add date-time-crate flag for cli

* Edit usage of updated get_rs_type method

* Use arg enum for date time crate

* Move date time crate arg enum conversion into commands module

* Directly use arg enum

* Fixing import issues for arg enum w/ help from Billy
2022-07-10 15:22:47 +08:00
Billy Chan
d6831e5295
Bump version of sqlx, sea-query, sea-schema, time and uuid (#834)
* Bump version of sqlx, sea-query, sea-schema, time and uuid

* PostgreSQL `u32` was wrapped in `Oid` (launchbadge/sqlx#1602)

* Update test cases

* Fix clippy warnings

* cargo fmt

* Fix clippy warnings

* Bump sea-schema to ^0.9.2

* Update test cases

* Pin on sea-query minor version
2022-07-05 01:05:11 +08:00
Chris Tsang
ec881e35a9
Merge pull request #588 from SeaQL/cli-gen-enum-num-variants
CLI generate enum with numeric like variants
2022-07-01 02:10:00 +08:00
kyoto7250
0ce8ee6a31
feat(sea-orm-cli): output log about generated file name. (#735)
* feat(sea-orm-cli): output lof about  generated file name.

https://github.com/SeaQL/sea-orm/issues/722

* include column names in info

* cargo fmt

* Update sea-orm-cli/src/commands.rs

Avoid multiple initializations

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>

* show info per column

* refactor: use write! macro

* Refactoring

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
2022-06-12 20:30:49 +08:00
Allen
bdd9133aa6 fix lints and warnings
also clean up impl_into_active_value macro
2022-04-09 16:52:47 -07:00
Billy Chan
6091629adb
cargo fmt 2022-03-25 15:25:49 +08:00
Billy Chan
cd3b11a503
Fix codegen with Enum in expanded format (#624) 2022-03-22 23:27:14 +08:00
Billy Chan
73701fef9a
Codegen Unsigned Integer - 2 (#397)
* feat: codegen unsigned integer

* feat: apply alias on `ColumnRef::SchemaTableColumn`

* Update SQLite test cases, quote identifier with double quotes

* Bump sea-query version to 0.22

* Add dummy line

* Tests [cli] and [issues]

* update sea-schema

Co-authored-by: Chris Tsang <chris.2y3@outlook.com>
2022-03-14 12:40:02 +08:00
Billy Chan
4ee6eac313
CLI generate enum with numeric like variants 2022-03-08 17:50:01 +08:00
Chris Tsang
6b33d67f7c
Merge pull request #463 from BenJeau/master
Codegen add serde derives to enums, if specified
2022-03-06 21:56:50 +08:00
Billy Chan
21216f3a97
Codegen column_name proc_macro attribute (#433)
* feat: codegen `column_name` proc_macro attribute

* test: codegen `column_name`
2022-02-05 21:14:10 +08:00
Billy Chan
8145088814 Refactoring
`ColumnDef` with default value

Cargo fmt

Update docs

Fixup

Support `DateTimeLocal`

Update docs

Codegen write db timestamp column as `DateTimeUtc` type

Update dependency

Merge branch 'sea-query/add-new-column-ref' into pr/429

feat: apply alias on `ColumnRef::SchemaTableColumn`
2022-02-01 14:29:03 +08:00
Benoit Jeaurond
2a2b5d7b62 feat: add serde derives to enums, if specified 2022-01-16 16:16:11 -05:00
Billy Chan
9036d27da7
Codegen SQLite (#386)
* Codegen SQLite

* Remove debugging

* Fixup

* Add SQLite "sakila.db" demo [issues]
2021-12-25 11:31:47 +08:00
Billy Chan
4072e74284
cargo fmt 2021-12-17 11:14:54 +08:00
Billy Chan
f5f6a6774f
Codegen ActiveEnum & Create Enum From ActiveEnum (#348) 2021-12-15 00:52:50 +08:00
Billy Chan
ccb8b95324
Codegen Handle Self Referencing & Multiple Relations to the Same Related Entity (#347)
* [sea-orm-codegen] handle self referencing relation & multiple relations to the same related entity

* Test [cli]

* Test [cli]
2021-12-04 21:22:10 +08:00
Billy Chan
8b217239fd
Fix clippy warnings 2021-11-08 12:13:29 +08:00