46 Commits

Author SHA1 Message Date
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
c4fa40ab3e
[cli] migrator CLI handles init and generate commands 2022-08-02 16:30:49 +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
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
4aaabacae3 Fix clippy 2022-07-11 00:42:42 +08:00
Billy Chan
1fc156288e
[cli] skip checking connection string contains username and host (#851) 2022-07-10 23:03:33 +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
cecf4545cb
cargo fmt 2022-07-08 14:48:04 +08:00
Billy Chan
e0eb8ecf69
[cli] skip generating entity for ignored tables (#837) 2022-07-05 01:19:36 +08:00
Billy Chan
1c4acf1402
[cli] remove unused code 2022-07-04 17:36:58 +08:00
Billy Chan
1054d6451c
Use file!() macro to avoid manually defining the name of migration (#736)
* Add `DeriveMigrationName`

* CLI migrate generate without replacing migration name

* Update migrations

* Fixup
2022-06-29 00:42:59 +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
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
Billy Chan
9d2cae44b3
Migrator CLI Fixup (#708)
* CI compile migrator CLI

* sea-orm-migration's CLI with only migration subcommand

* Fix clippy warnings

* Fixup

* `sea-orm-cli migrate init`: write sea-orm-migration version based on CLI version
2022-05-10 23:24:23 +08:00
Chris Tsang
1283d9d325 Tweaks 2022-05-09 21:39:41 +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
c466e46ae0 Fix tests 2022-05-09 14:44: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
0a06892aac Fix [cli] cargo publish failed 2022-02-07 20:55:16 +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
Billy Chan
a9fc52009e
CLI allow generate entity with url without password (#436)
* fix: cli allow generate entity with url without password

* test: no password test case should not panic

* test: fix test cases, assert panic message
2022-01-14 00:46:32 +08: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
2d5aa2a61b
Log with tracing-subscriber (#399)
* chore: log examples with tracing-subscriber

* chore: log [issues] with tracing-subscriber

* chore: log [cli] with tracing-subscriber

* feat: tracing will emit log if tracing-subscriber is not setup
2021-12-24 23:59:37 +08:00
Forest Anderson
44da1cab0b Rearranged files, added fmt 2021-10-22 11:24:41 +08:00
Forest Anderson
8d06aea00b Added tests 2021-10-19 01:11:54 -04:00
Forest Anderson
a346b34299 Improve errors 2021-10-18 14:28:36 -04:00
Forest Anderson
bcc5b5066a Changed manual url parsing to use Url crate 2021-10-16 23:19:48 -04: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
baoyachi
86f2d7e327 fix #200
* adapter postgrel url scheme
* refactor DbScheme
2021-09-27 11:45:54 +08: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
Billy Chan
3701c86637
CLI Generate Entity for Postgres (#61)
* cli generate entity for Postgres

* Fixup
2021-08-07 18:23:52 +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