40 Commits

Author SHA1 Message Date
Chris Tsang
a9aa139af2
Enable --universal-time by default (#1420)
* Enable --universal-time by default

* Add `--local-time` flag

---------

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
2023-01-29 10:56:46 +08:00
Billy Chan
9fbfd06663
[CLI] a warm welcome message included :) (#1417)
* [CLI] a warm welcome message included :)

* Update layout

* update layout
2023-01-27 12:44:40 +08:00
Chris Tsang
b84c2ffdcb Revert "Enable --universal-time by default"
This reverts commit 25bc625fc034a0e02b9e42864ddb74c8d51c6623.
2023-01-24 14:02:01 +08:00
Chris Tsang
25bc625fc0
Enable --universal-time by default 2023-01-24 14:00:47 +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
d30a5612f8
[CLI] generate entity file for specified tables only (full text matching, not substring matching) (#1245) 2022-11-24 12:21:16 +08:00
Billy Chan
9108e74dac
Fix conflicting short flag -u when executing sea-orm-cli migrate generate command (#1157) 2022-10-26 21:01:24 +08:00
Billy Chan
cb76b8f443
[cli] migrate up should apply all pending migrations (#1010) 2022-10-26 17:21:24 +08:00
Billy Chan
b22db842e4
Run migrations on PostgreSQL schema (#1056)
* Run migrations on PostgreSQL schema

* fmt

* fmt & clippy

* clippy

* [cli] update helper text
2022-10-17 17:16:00 +08:00
Animesh Sahu
ad5e8c1264
[cli] Add -u, --universal-time option in generate to use Utc instead of Local (#947) 2022-09-25 10:33:50 +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
Daniel Porteous (dport)
d77cf24e06
Fix typos in ORM CLI help messages (#1060) 2022-09-23 15:36:10 +08:00
Remo Senekowitsch
be0d846d8f
Enable migration generation in modules (#933)
* Enable migration generation in modules

Previously, migration generation expected migrations
to be at the crate root.

* Fix migration backup file extension

* Document behavior of migration_dir
2022-09-19 23:42:46 +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
Igor
0d94941c3b
Fix typos (#958) 2022-08-12 18:31:35 +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
60bf6da8dd
sea-orm-cli migrate generate should take file name as argument instead of option (#870) 2022-07-14 17:43:21 +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
e0eb8ecf69
[cli] skip generating entity for ignored tables (#837) 2022-07-05 01:19:36 +08:00
smonv
580fa90023
Bump clap version to 3.2 (#706)
* bump clap to 3.1.17

sea-orm-migration: bump clap version to 3.1.17

sea-orm-cli: use clap derive API instead of builder API

sea-orm-migration: use clap derive

* Fix clippy warnings

* Migration CLI verbose with default value

* bump clap to 3.2

Co-authored-by: Thanh Van <tvt@smonv.com>
Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
2022-06-26 20:52:33 +08:00
Viktor Bahr
3518acf1b9
CLI command to generate a new migration (#656)
* feat(cli): add 'migration generate' subcommand

This subcommend will create a new, empty migration.

* feat(deps): add chrono crate

This crate will allow me to fetch the current date and time required for
generating the migration filename.

* feat(cli): generate migration filename

* feat(cli): read template, replace migration name

* feat(cli): write modified content to file

* feat(deps): add regex crate

Allows me to parse the lib.rs file containing the migrator logic.

* fix(cli): add missing chrono import

* feat(cli): mod declaration for new migration

This modifies the existing migator file, adding a module declaration for
the newly generated migration.

* feat(cli): regenerate migration vector

* feat(cli): write updated migrator file to disk

This completes updating the migrator file with the new migration
information.

* docs(cli): additional docstring

* refactor(cli): move logic into functions

* test(cli): create new migration happy path

* test(cli): update migrator happy path

* fix(cli): dedicated tmp dir for test

This avoids conflicts with the other tests.

* style(cli): align generated code with cargofmt

As suggested by @billy1624 in the review of #656.

* feat(cli): harden regex against extra spaces

As suggested by @billy1624 in the review of #656.

Co-authored-by: Billy Chan <ccw.billy.123@gmail.com>
2022-05-09 21:31:12 +08:00
Chris Tsang
75d5c0f5ea Restructure sea-orm-cli & sea-orm-migration 2022-05-09 12:30:58 +08:00
Billy Chan
498c0154ca Restructure SeaORM migration
Bump codegen's sea-query version [cli]

Update CLI subcommand method

Move migration utility into sea-orm-migration
2022-05-09 12:30:55 +08:00
benluelo
b01d4887ca
Add max_connections option to CLI (#670)
Change max_connections option to default to 1

CLI generate entity with default max connection of 1
2022-04-26 22:55:24 +08:00
Alex
fe1877a49d
sea as an alternative bin name to sea-orm-cli (#558)
* Simplify bin name from  sea-orm-cli to sea

* -S

* fixed test
2022-03-26 18:06:14 +08:00
Billy Chan
8eb095385d Migration (#335)
* Refactor `ConnectionTrait`

* Refactoring

* Build index & foreign key statements

* Fix imports

* Fixup

* Rocket example with migration

* async-std compatible with the tokio 1.0 runtime

* Use reexported dependency

* Compile without selecting any db backend

* Updating sea-orm-cli dep

* sea-orm-cli migrate commands

* cargo fmt

* Test [cli]

* Refactoring

* Clap app name should be "sea-orm-cli"

* Correctly capture MIGRATION_DIR

* Rename README

* Add `sea-orm-cli migrate init` command

* Update README

* Try restructured sea-query dependency (SeaQL/sea-schema#41)

* Set `DATABASE_URL` environment variable
2022-02-05 20:34:54 +08:00
Tim Eggert
b6c5d71fe2 Introduce optional serde support for model code generation
This introduces several things to optionally support automatic derive attributes for `serde::{Deserialize, Serialize}` for the generated models:
- introduces a `WithSerde` enum to indicate if Serialize, Deserialize, or even both should be derived from,
- adds an optional cli argument `--with-serde [none: default, serialize, deserialize, both]`
- adds test harness for both compact and expanded generation
2021-10-11 14:55:00 +02:00
Jordy Ruiter
ba96917a18 Add tables option to CLI generate entity 2021-10-03 15:45:07 +09:00
Billy Chan
962d895249
Add CLI verbose option 2021-09-16 10:14:01 +08:00
Billy Chan
a6f117a908
sea-orm-cli with --expanded-format & --compact-format flags 2021-09-10 23:08:30 +08:00
Billy Chan
1765ac953b Add "--include-hidden-tables" flag 2021-08-11 12:45:24 +08:00
Billy Chan
10d670e472 Update CLI generate entity schema argument behavior 2021-08-11 12:45:24 +08:00
Chris Tsang
1b47f896a7 Tweaks 2021-08-08 03:11:37 +08:00
Chris Tsang
d5f63a05c4 Tweaks 2021-07-29 23:18:37 +08:00
Billy Chan
0b10d30c64 Codegen not depends on sea-schema & sqlx 2021-07-27 21:48:41 +08:00
Billy Chan
47bb5b3ad7
sea-orm-cli showing help message when no sub-command provided 2021-07-02 10:42:56 +08:00
Billy Chan
fa30519f99 sea-orm-cli read config from .env, update command, rename binary to sea-orm-cli 2021-06-26 21:46:10 +08:00
Billy Chan
cab4b5a3f7
Codegen: Entity Generator (#23) 2021-06-19 19:47:59 +08:00