Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Does Blueprint support advanced PostgreSQL features like JSON data types


Does Blueprint support advanced PostgreSQL features like JSON data types


it appears that Laravel Shift Blueprint does support some advanced PostgreSQL features, though the level of support may vary:

1. JSON Data Types: The search results mention that Blueprint supports the newer JSON data type in PostgreSQL, which is better than the older hstore data type. This suggests that Blueprint can handle JSON data types in PostgreSQL databases.

2. Hstore Data Type: While the hstore data type is not as recommended as JSON, the search results indicate that Blueprint does provide support for using hstore columns in Eloquent models, through the use of a custom cast.

3. Identity Columns: Blueprint seems to support the PostgreSQL-specific "identity" column type, which is used for automatically generated unique identifiers. The search results show examples of using the `identity()` method on the schema builder.

4. International Product Numbers: The search results mention that Blueprint supports various international product number data types provided by the PostgreSQL "isn" extension, such as EAN13, ISBN, ISMN, and ISSN.

5. Compression: The search results indicate that Blueprint can leverage the column compression features introduced in PostgreSQL 14, allowing you to specify the compression method (e.g. `lz4`) for "toast-able" data types.

6. Initial Values: Blueprint also supports the "initial" modifier, which allows you to set an initial value for a new column that is added to an existing table.

So in summary, the search results suggest that Laravel Shift Blueprint does provide support for several advanced PostgreSQL features, including JSON data types, hstore, identity columns, international product numbers, compression, and initial values. However, the level of support and integration may vary, and it's possible that some PostgreSQL-specific functionality may require additional customization or extension of the Blueprint tool.

Citations:
[1] https://blueprint.laravelshift.com/docs/model-data-types/
[2] https://laravel-news.com/package/tpetry-laravel-postgresql-enhanced
[3] https://laravel-news.com/laravel-shift-blueprint
[4] https://laracasts.com/discuss/channels/laravel/blueprint-laravel-shift
[5] https://github.com/laravel-shift/blueprint