rename-entity
would rename an existing entity and update all related entities
remove-entity
would remove an existing entity only if no other entity is related
As a development platform, JHipster should handle the whole possible lifecycle of an entity:
Because you don't always (never?) design your perfect model from beginning, you should have the ability to rename or remove an entity without having to do it manually (it's quite painful).
There's also a common trap: when you rename an entity in your JDL, a new entity is created, but the old one is still here.
Why would you need rename if you have remove and add?
On Sat, 8 Dec 2018, 11:07 am Aurélien Mino <[email protected] wrote:
Overview of the feature request
rename-entity would rename an existing entity and update all related
entities
remove-entity would remove an existing entity only if no other entity is
related
Motivation for or Use CaseAs a development platform, JHipster should handle the whole possible
lifecycle of an entity:
- create
- update
- rename
- remove
Because you don't always (never?) design your perfect model from
beginning, you should have the ability to rename or remove an entity
without having to do it manually (it's quite painful).
There's also a common trap: when you rename an entity in your JDL, a new
entity is created, but the old one is still here.
Related issues or PR4372 https://github.com/jhipster/generator-jhipster/issues/4372
- Checking this box is mandatory (this is just to show you read
everything)—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jhipster/generator-jhipster/issues/8933, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABDlF-L1Rxto_BaC1KexWxSqRDCQj2bKks5u249TgaJpZM4ZJkRc
.
Because when I create a new entity for the new name there's now way to make the link with the entity with the former name, and thus all linked entities won't be updated?
entity Category {
description String required,
}
entity Product {
title String required,
}
relationship ManyToMany {
Category{product(title)} to Product{category}
}
What if I want to rename Product
to e.g. Asset
?
jhipster entity Asset
=> new entity Asset
created
jhipster remove-entity Product
=> not possible, since Category
still references Product
Here my point of view.
JHipster is used for generating code, not for renaming or deleting. If the user did a mistake by choosing a wrong name for his entity, it's on his side, not on our side. JHipster should not be used to fix user's mistake.
For deleting use case, git
is the best here.
For renaming, it will took less than 5min, with find / replace
, if the user knows well his code.
Since that what I've done this week (renaming entities), I can tell that it's not that simple, and it took me way more than 5min.
Now either JHipster is just a tool to bootstrap your application, that you trash away after the application is generated, or it's a development platform that you use while you're developing your application. In the latter case, this requested feature case is very useful.
If the user did a mistake by choosing a wrong name for his entity, it's on his side, not on our side. JHipster should not be used to fix user's mistake.
It's not about mistake. It's about keeping a common, rigorous language between developers and users (of the application). Defining an ubiquitous language can take time, and it can evolve during the project lifecycle.
For deleting use case,
git
is the best here.
How can you do that when there's hundred of commits after the initial entities generation?
Here a use case:
@murdos : I'm not against, just reluctant to have this, because I think it will be hard to achieve (specially to test in our CI), then to maintain and it will probably result in a lot of issues.
But maybe I'm wrong, because I don't use JHipster as a platform, but only to bootstrap my application.
Personally, I will also be against renaming entity with JH as it will bring
a lot of maintenance overhead for us, and the only way to do it properly
would be to use a lot of regex/needles etc which is not very scalable and
is too much work. An IDE can do the job much better IMO. For deletion
I'm half minded
Thanks & Regards,
Deepu
On Sun, Dec 9, 2018 at 12:49 PM Pascal Grimaud notifications@github.com
wrote:
Here a use case:
- the user creates an application with hundred entities + SQL
- then, some dev + custom modifications
- some deployment, so apply liquibase changes
- the user needs to rename an entity (with table). Do you think he
will:
- do it manually ? (personnaly, I will choose this, helping by git
diff)
- or use this new rename sub generator ? a minor bug in this, and
the user will do the change manually (no time to wait the fix / a new
release), or he will open a new ticket without details because he can't
share his code (exactly like upgrade sub-generator)
- for both solutions, he'll need to check closely his code, manage
liquibase diff, because the rename sub-gen can't handle it@murdos https://github.com/murdos : I'm not against, just reluctant to
have this, because I think it will be hard to achieve (specially to test in
our CI), then to maintain and it will probably result in a lot of issues.
But maybe I'm wrong, because I don't use JHipster as a platform, but only
to bootstrap my application.—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jhipster/generator-jhipster/issues/8933#issuecomment-445530707,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDlF9MN-76-_Nzbx55nZQnu0AxxtrQHks5u3PjjgaJpZM4ZJkRc
.
I agree with the comments from @pascalgrimaud @deepu105 - this is going to be a headache, and will cause many bug reports because people will expect too much from this. There are many limitations on this, and the easier way to rollback a change is just to use Git properly.
I'm closing this because I don't think this should be done.
I had worked on an entity remover some time ago : https://github.com/jhipster/generator-jhipster/pull/4403.
I gave up because there were problems on Windows (it was working fine on unix)
The principle should still work. I may give it a try again one day.
The branch is still there for someone to work on it. The principle is to use git in the same way the upgrade gen works.
@cbornet @murdos
Is it possible to remove an entity ?
I would love to do that not manually:-)
Please use your IDE for that. We will not be doing this as it is too much
maintenance overhead for us for very little value.
On Fri, 12 Jul 2019, 2:58 pm Ines Gomes, notifications@github.com wrote:
@cbornet https://github.com/cbornet @murdos https://github.com/murdos
Is it possible to remove an entity ?
I would love to do that not manually:-)—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jhipster/generator-jhipster/issues/8933?email_source=notifications&email_token=AAIOKFY55PQY7PZOHTQ34QLP7B5WZA5CNFSM4GJGIROKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZZVX3A#issuecomment-510876652,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIOKF5M7QRBUYBQ7SSDVTTP7B5WZANCNFSM4GJGIROA
.
Most helpful comment
Since that what I've done this week (renaming entities), I can tell that it's not that simple, and it took me way more than 5min.
Now either JHipster is just a tool to bootstrap your application, that you trash away after the application is generated, or it's a development platform that you use while you're developing your application. In the latter case, this requested feature case is very useful.
It's not about mistake. It's about keeping a common, rigorous language between developers and users (of the application). Defining an ubiquitous language can take time, and it can evolve during the project lifecycle.
How can you do that when there's hundred of commits after the initial entities generation?