-
-
Couldn't load subscription status.
- Fork 34
Open
Labels
breaking changeThis feature / fix introduces breaking changesThis feature / fix introduces breaking changesproposalA suggestion for a change, feature, enhancement, etcA suggestion for a change, feature, enhancement, etcs: acceptedwas accepted or confirmedwas accepted or confirmed
Milestone
Description
It seems like there are some reasonable open issues regarding the column type translation from Fizz's to database's.
some findings are:
- First, there is no policy for supported database engine version which is very important
- Also, the purpose of
colType()could be slightly confusing - in many cases,
timestampis just treated asdatetime - only PostgreSQL's
datetimehas a timezone (buttimestampit not) -
timeis treated asdatetimewhich should not be -
dateis treated asnumericin SQLite3 -
floatanddecimalare treated as the same (decimal) in most dialects - and most importantly, have no document for them
Related open issues and PRs (at this moment):
- Support
timestampcolumn type. #48 - Datetime, timestamp, time should support fraction precision #89 and add datetime precision for mysql #90
- Customize generated PostgreSQL created_at and updated_at columns to use timestamptz #106
- Provide Reference Documentation for DDL #66
Also, related issues/PRs on the other modules:
- pop should save
created_atandupdated_atfields in UTC pop#23 - fizz: define timestamp column types with a timezone pop#25
- timezone automatically appended while reading a timestamp with tz value from postgres pop#595
- setting a time zone for default time stamps pop#753
- Creating timestamp fields instead of time type for postgres pop#687
Old issues/PRs related to this:
- Adding common types from attr #27
- Support float precision fixes #8 #36
- added support of exact numeric data values #57
- switch to timezone aware timestamps #50
- 5a6606f7934c36 - made time datetime
- abae1e934d6182 - timestamp as timestamp for MySQL
- ca8e206c781587 - revert it back
Other issues about an ID field which is restricted to be int or UUID
- Postgres translator does not allow "text" value to be set as a Primary key #64
- Can't call Create(...) using types other than int, int64, UUID or string for primary key pop#605 maybe it should be in pop but need to be considered.
Date type definitions:
- SQLite3: https://www.sqlite.org/datatype3.html
- MySQL: https://dev.mysql.com/doc/refman/8.0/en/data-types.html (current)
- MySQL: https://dev.mysql.com/doc/refman/5.7/en/data-types.html (oldest supported)
- MariaDB: https://mariadb.com/kb/en/data-types/
- MS SQL: https://docs.microsoft.com/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-ver15 (current)
- MS SQL: https://docs.microsoft.com/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-2017 (oldest supported)
- PostgreSQL: https://www.postgresql.org/docs/current/datatype.html (current)
- PostgreSQL: https://www.postgresql.org/docs/10/datatype.html (oldest supported)
- Cockroach: https://www.cockroachlabs.com/docs/stable/data-types.html (current)
- Cockroach: https://www.cockroachlabs.com/docs/v21.1/data-types (oldest supported)
Release/Support/Lifecycle policy for database engines:
Metadata
Metadata
Assignees
Labels
breaking changeThis feature / fix introduces breaking changesThis feature / fix introduces breaking changesproposalA suggestion for a change, feature, enhancement, etcA suggestion for a change, feature, enhancement, etcs: acceptedwas accepted or confirmedwas accepted or confirmed