When designing a database (tables), you can consider its use in different DBMS
(mysql, postgresql, mssql, sqlite, oracle)
I want to be able to choose a database and there would be no problems in the types and tables
Is it possible?
If you want your system to choose a DBMS and (almost) not have problems, you need to introduce some "layer" between the base and the logic of your application. For this you can use the technology Object-relational mapping
There are many libraries for different programming languages and with the support of various DBMS.
Entity Framework- supports MSSQL, MySQL, ORACLE, PostgreSQL, Firebird and others
NHibernate- supports MSSQL, MySQL, ORACLE, PostgreSQL, Firebird, Sqlite and others
Telerik OpenAccess - supports MSSQL, MySQL, ORACLE, PostgreSQL
and many others
Doctrine is a very extensive and functional library that supports many different DBMS through its own layer of abstraction.
and many others
node-orm with support for several popular relational databases. And so on...
I strongly advise the author to develop several versions for each subdit separately.
This is if you really want to write a quality product under several subd.
In each of these bases, at least, the implementation of auto-numbering of values in columns (autoincrement) differs. It will be hard. :-)
What you want to do is not so simple ... mysql, postgresql, mssql, sqllite, oracle are different from each other, the semantics of the code are different, and as a result, the problems will be with the data types and auto-increment of the fields. I think not to bother with this and decide on a DBMS, choose the one that suits you the most ...