Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
RE: Liferay 7 ERD Diagram
hi i need to see entity–relationship model (ERD) in liferay 7 , how can find or design it? please help mei find this pdf file but it's to old (2006!)thank for read this thread and help me

AmirHosein Orojlo:
You're wrong: You don't need it. In fact, you should stay out of the database completely. It's not your data, you shouldn't worry about the data stored and just handle it as a black box. Any time you're assuming you know what's required to store data in there, you're setting yourself up for failure, either immediately or some months or years in the future (e.g. with the next upgrade).
hi i need to see entity–relationship model (ERD) in liferay 7 , how can find or design it?
Now, the question is, what do you think you need it for? The answer to that question is: Use the API for accessing any of the data stored. SQL is ok on your own tables, but absolutely not on Liferay's tables. Period
Wow, I think Olaf was channeling me on that response! 
Liferay does some funky stuff in its tables, so much so that a common ERD is just not possible. A bunch of tables have a "class name id/class pk" pair of columns indicating that they can have a relation to any other table.
There are no foreign key relationships in the data, relationships are maintained by the code, so there's nothing there for a typical ERD to build from.
Since everything is maintained in the code, the next release of Liferay could change how relationships are managed so your understanding of an ERD can change w/o you knowing about it.
Long story short, the database is not a good source of understanding or learning about Liferay, whereas the documentation, the Liferay source, Liferay University, etc. are better sources. Trying to figure out an ERD is just going to waste your time trying to understand something that really won't help in the long run. Instead, invest your time in reading the doco or the source or ... You'll be much better off in the long run.

Liferay does some funky stuff in its tables, so much so that a common ERD is just not possible. A bunch of tables have a "class name id/class pk" pair of columns indicating that they can have a relation to any other table.
There are no foreign key relationships in the data, relationships are maintained by the code, so there's nothing there for a typical ERD to build from.
Since everything is maintained in the code, the next release of Liferay could change how relationships are managed so your understanding of an ERD can change w/o you knowing about it.
Long story short, the database is not a good source of understanding or learning about Liferay, whereas the documentation, the Liferay source, Liferay University, etc. are better sources. Trying to figure out an ERD is just going to waste your time trying to understand something that really won't help in the long run. Instead, invest your time in reading the doco or the source or ... You'll be much better off in the long run.
Copyright © 2025 Liferay, Inc
• Privacy Policy
Powered by Liferay™