- Support parsing
GENERATED ALWAYS ASfor mysqldef #153
- Fix mssqldef's parser for TRIGGER time #152
- Support
USING INDEXfor mysqldef properly #150- It has been crashing since v0.10.8
- Support
TRIGGERfor mssqldef and mysqldef #135
- Support more
DEFAULT-related features for mssqldef #134- Add and drop a default when the default constraint is changed
- Support
GETDATE() - Parse parenthesis in default constraints properly
- Support
NOT FOR REPLICATIONfor mssqldef #133
- Support enum definition changes #132
- Support more index options for mssqldef #131
- Support more value types for mssqldef #129
- Support CHECK for mssqldef #128
- Support indexes for mssqldef #126
- Support foreign keys for mssqldef #127
- Support index options for mssqldef #125
- Support PRIMARY KEY for mssqldef #124
- Support
DROP COLUMNfor mssqldef #123
- Support
ADD COLUMNfor mssqldef #122
- Add SQL Server support as
mssqldef#120
- Support parsing and generating index lengths #118
- Accept
PGPASSWORDinstead ofPGPASSin psqldef #117 - Support changing column defaults in psqldef #116
- Support more default values for psqldef:
CURRENT_DATE,CURRENT_TIME,text,bpchar#115
- Support PostgreSQL Identity columns #114
- Support
"to escape SQL identifiers in sqlite3def #111
- Drop darwin-i386 support to upgrade Go version
- Allow parsing
CURRENT_TIMESTAMP()in addition toCURRENT_TIMESTAMPfor MySQL #59
- Allow parsing index with non-escaped column name
keyfor psqldef #100 - Prevent errors on
ADD CONSTRAINT FOREIGN KEYfor psqldef
- Support
SET NOT NULLandDROP NOT NULLfor psqldefALTER COLUMN
- Support
CITEXTdata type for psqldef
- Fix CHECK handling of v0.8.9 to support PostgreSQL 12
- Support AUTOINCREMENT for sqlite3def #99
- Support CHECK option of CREATE TABLE for psqldef #97
- Generate composite primary keys properly in psqldef #96
- Make
CONSTRAINT foo PRIMARY KEY (bar)work likePRIMARY KEY (bar)in psqldef #88
- All identifiers are escaped #87
- Improve comparison of decimal default values #85
- Support parsing columns names in a column's
REFERENCESin psqldef #84
- Support parsing a column's
REFERENCESin psqldef #82
- Support
CREATE POLICYin psqldef #77
- Support more types of default values in psqldef #80
- Support
CREATE VIEWandDROP VIEW#78
- Fix an error when adding
NOT NULL#71- This fixed a bug introduced at v0.7.2
- Preserve AUTO_INCREMENT when changing the column's data type in mysqldef #70
- This fixed a bug introduced at v0.5.20.
- Fix ALTER with CHARACTER SET, COLLATE, and NOT NULL in mysqldef #68
- Support changing a DEFAULT value #67
- Allow a negative default value #66
- Generate
NULLflag on a column definition ofALTER TABLEwhen it's explicitly specified #63
- Ignore
public.pg_buffercacheon psqldef when the extension is enabled #65
- Support sqlite3 by sqlite3def #64
- Support specifying non-public schema in psqldef #62
- Support changing column length #61
- Fully support having UNIQUE in a MySQL column #60
- Support BINARY attribute to specify collation in mysqldef #47
- Support changing types by
ALTER COLUMNwith psqldef
- Add AUTO_INCREMENT after adding index or primary key
- Remove AUTO_INCREMENT before removing index or primary key
- Allow a comment in the end of input schema
- Support altering a column for changing charset and collate #60
- Fix array type definition of
ADD COLUMNfor psqldef (a bugfix for v0.5.17)
- Support parsing a type with
ARRAYor[]for psqldef #58
- Support CURRENT_TIMESTAMP with precision #59
- Escape column names in index DDLs #57
- Support updating
ON UPDATE/ON DELETEof foreign keys #54 - Fix a bug that foreign key is always exported as
ON UPDATE RESTRICT ON DELETE SET NULLin psqldef
- Support JSONB type for psqldef #55
- DROP and ADD index if column combination is changed #53
- Escape index names generated in index DDLs #51
- Support adding/removing a default value to/from a column #50
- Avoid unnecessarily generating diff for
BOOLEANtype on mysqldef #49
- Add
--skip-dropoption to skipDROPstatements #44
- Fix ordering between
NOT NULLandWITH TIME ZONEfor psqldef, related to v0.5.4 and v0.5.5 #40
- Support
timewith and without timezone for psqldef #39
- Support
timestampwith and without timezone for psqldef #37
- Fix output length bug of psqldef since v0.5.0 #36
- Support
timestamp(without timezone) for psqldef #34
- Support
SMALLSERIAL,SERIAL,BIGSERIALfor psqldef #33
- Remove
pg_dumpdependency for psqldef #32
- Show
pg_dumperror output on failure #30
- Preserve line feeds when using stdin #28
- Support reordering columns with the same names #27
- Support enum #25
- Support
ON UPDATE CURRENT_TIMESTAMPon MySQL
- Fix issues on handling primary key #21
- Add
--password-promptoption tomysqldef/psqldef- This may be deprecated later once
--passwordwithout value is properly implemented
- This may be deprecated later once
- Add
-S/--socketoption ofmysqldefto use unix domain socket - Change
-hoption ofpsqldefto allow using unix domain socket
- Add support for fulltext index
- Support including hyphen in table names
- Support UUID data type for PostgreSQL and MySQL 8+
- Do not fail when view exists but just ignore views on mysqldef
- Views may be supported later, but it's not managed by mysqldef for now
- Support generating
AFTERorFIRSTonADD COLUMNon mysqldef
- Support
$PGSSLMODEenvironment variable to specifysslmodeon psqldef
- Support managing non-composite foreign key by changing CREATE TABLE
- Note: Use
CONSTRAINT xxx FOREIGN KEY (yyy) REFERENCES zzz (vvv)for both MySQL and PostgreSQL. In-columnREFERENCESfor PostgreSQL is not supported. - Note: Always specify constraint name, which is needed to identify foreign key name.
- Note: Use
- Fix handling of DEFAULT NULL column
- Parse PostgreSQL's
"column"literal properly - Dump primary key with
--exporton PostgreSQL - Prevent unexpected DDLs caused by data type aliases (bool, integer, char, varchar)
- Support
ADD PRIMARY KEY/DROP PRIMARY KEYin MySQL - Support parsing more data types for PostgreSQL: boolean, character
- Be aware of implicit
NOT NULLonPRIMARY KEY - Use
--schema-onlyonpg_dumpin psqldef
- Support
$MYSQL_PWDenvironment variable to set password on mysqldef - Support
$PGPASSenvironment variable to set password on psqldef
- Support changing index on both MySQL and PostgreSQL
- Basic support of
CHANGE COLUMNon MySQL - All non-SQL outputs on apply/dry-run/export are formatted like
-- comment --
- Support handling index on PostgreSQL
- Support
ADD INDEXby modifyingCREATE TABLEon MySQL
- Parse column definition more flexibly
- ex) Both
NOT NULL AUTO_INCREMENTandAUTO_INCREMENT NOT NULLare now valid
- ex) Both
- Support parsing
character varyingfor PostgreSQL - Remove
(space) before;on generatedADD COLUMN
- Fix SEGV and improve error message on parse error
- Drop all dynamic-link dependency from
mysqldef - "-- No table exists" is printed when no table exists on
--export - Improve error handling of unsupported features
- Release binaries for more architectures
- New OS: Windows
- New arch: 386, arm, arm64
- Initial release
- OS: Linux, macOS
- arch: amd64
mysqldeffor MySQL- Create table, drop table
- Add column, drop column
- Add index, drop index
psqldeffor PostgreSQL- Create table, drop table
- Add column, drop column