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:

  1. The data model should be in a single schema

  2. Every table should have a primary key

  3. 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

  4. 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 TypeSupport
Array Types
bigintyes
bigserialyes
bit vaying(n)
bit(n)
booleanyes
bytea
character varying(n), varchar(n)yes
character(n), char(n)yes
cidr
Composite Types
dateyes
daterange — Range of date
decimalyes
Domains
double precisionyes
Enumerated Type
inet
int4range — Range of integer
int8range — Range of bigint
integeryes
interval [ fields ] [ (p) ]
json
jsonb
macaddr
money
numericyes
numrange — Range of numeric
Object Identifier Types
pg_Isn Type
Psuedo Types
realyes
serialyes
Smallintyes
smallserialyes
textyes
Text Search Types
time [ (p) ] [ without time zone ]yes
time [ (p) ] with time zoneyes
timestamp [ (p) ] [ without time zone ]yes
timestamp [ (p) ] with time zoneyes
tsrange — Range of timestamp without time zone
tstzrange — Range of timestamp with time zone
UUID Type
XML Type

MySQL

Data TypeSupport
BIGINTyes
BINARY
BITyes
BLOB
CHARyes
DATEyes
DATETIMEyes
DECIMAL, DEC, FIXEDyes
DOUBLEyes
ENUMyes
FLOATyes
INT, INTEGERyes
JSONyes
LONGBLOB
LONGTEXTyes
MEDIUMBLOB
MEDIUMINTyes
MEDIUMTEXTyes
SETyes
SMALLINTyes
TEXTyes
TIMEyes
TIMESTAMPyes
TINYBLOB
TINYINTyes
TINYTEXTyes
VARBINARY
VARCHARyes
YEARyes