Supported Databases & Data Types
Supported Databases
In this first release, fastCode only supports PostgreSQL and MySQL. In the very near future, we will also support Oracle and Microsoft SQL server.
Database Schema Requirements
Currently, fastCode can generate an application from the database schema only if the data model follows the rules below:
-
The data model should be in a single schema
-
Every table should have a primary key
-
The database data type Date should not be a part of a composite primary key, but its OK if it's the only primary key column
-
Relationships between tables should be based on the primary keys only, whether the primary keys are single column or composite primary keys
fastCode application generator includes a DB schema validator. This validator checks your application schema upfront to inform you whether or not your application schema passes the rules we have listed above. If the schema passes all the above rules, we should be able to successfully generated an application. If it doesn't, you need to make changes to your schema as per the rules defined above in order to successfully generate an application.
Supported Data Types
fastCode application generator reverse engineers a database schema and generates both the back-end and front-end of an application. The supported databases have proprietary data types that are specific to that vendor. Such proprietary data types are not currently fully-supported in the current release of fastCode and may be supported in future releases.
The tables below list the supported and non-supported data types for each of the four supported databases. If your application database has columns with one or more of the unsupported database types, entities generated by fastCode will not have the fields corresponding to these unsupported columns. In such cases, you need to manually add code to include these fields to the generated application so that the application can be compiled and run.
PostgreSQL
Data Type | Support |
---|---|
Array Types | yes |
bigint | yes |
bigserial | yes |
bit vaying(n) | |
bit(n) | |
boolean | yes |
bytea | yes |
character varying(n), varchar(n) | yes |
character(n), char(n) | yes |
cidr | |
Composite Types | |
date | yes |
daterange — Range of date | |
decimal | yes |
Domains | |
double precision | yes |
Enumerated Type | yes |
inet | yes |
int4range — Range of integer | |
int8range — Range of bigint | |
integer | yes |
interval [ fields ] [ (p) ] | |
json | yes |
jsonb | yes |
macaddr | |
money | |
numeric | yes |
numrange — Range of numeric | |
Object Identifier Types | |
pg_Isn Type | |
Psuedo Types | |
real | yes |
serial | yes |
Smallint | yes |
smallserial | yes |
text | yes |
Text Search Types | |
time [ (p) ] [ without time zone ] | yes |
time [ (p) ] with time zone | yes |
timestamp [ (p) ] [ without time zone ] | yes |
timestamp [ (p) ] with time zone | yes |
tsrange — Range of timestamp without time zone | |
tstzrange — Range of timestamp with time zone | |
UUID Type | yes |
XML Type | yes |
MySQL
Data Type | Support |
---|---|
BIGINT | yes |
BINARY | yes |
BIT | yes |
BLOB | yes |
CHAR | yes |
DATE | yes |
DATETIME | yes |
DECIMAL, DEC, FIXED | yes |
DOUBLE | yes |
ENUM | yes |
FLOAT | yes |
INT, INTEGER | yes |
JSON | yes |
LONGBLOB | yes |
LONGTEXT | yes |
MEDIUMBLOB | yes |
MEDIUMINT | yes |
MEDIUMTEXT | yes |
SET | yes |
SMALLINT | yes |
TEXT | yes |
TIME | yes |
TIMESTAMP | yes |
TINYBLOB | yes |
TINYINT | yes |
TINYTEXT | yes |
VARBINARY | yes |
VARCHAR | yes |
YEAR | yes |
Updated almost 2 years ago