- Support parsing
GENERATED ALWAYS AS
for mysqldef #153
- Fix mssqldef's parser for TRIGGER time #152
- Support
USING INDEX
for mysqldef properly #150- It has been crashing since v0.10.8
- Support
TRIGGER
for 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 REPLICATION
for 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 COLUMN
for mssqldef #123
- Support
ADD COLUMN
for mssqldef #122
- Add SQL Server support as
mssqldef
#120
- Support parsing and generating index lengths #118
- Accept
PGPASSWORD
instead ofPGPASS
in 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_TIMESTAMP
for MySQL #59
- Allow parsing index with non-escaped column name
key
for psqldef #100 - Prevent errors on
ADD CONSTRAINT FOREIGN KEY
for psqldef
- Support
SET NOT NULL
andDROP NOT NULL
for psqldefALTER COLUMN
- Support
CITEXT
data 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
REFERENCES
in psqldef #84
- Support parsing a column's
REFERENCES
in psqldef #82
- Support
CREATE POLICY
in psqldef #77
- Support more types of default values in psqldef #80
- Support
CREATE VIEW
andDROP 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
NULL
flag on a column definition ofALTER TABLE
when it's explicitly specified #63
- Ignore
public.pg_buffercache
on 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 COLUMN
with 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 COLUMN
for psqldef (a bugfix for v0.5.17)
- Support parsing a type with
ARRAY
or[]
for psqldef #58
- Support CURRENT_TIMESTAMP with precision #59
- Escape column names in index DDLs #57
- Support updating
ON UPDATE
/ON DELETE
of foreign keys #54 - Fix a bug that foreign key is always exported as
ON UPDATE RESTRICT ON DELETE SET NULL
in 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
BOOLEAN
type on mysqldef #49
- Add
--skip-drop
option to skipDROP
statements #44
- Fix ordering between
NOT NULL
andWITH TIME ZONE
for psqldef, related to v0.5.4 and v0.5.5 #40
- Support
time
with and without timezone for psqldef #39
- Support
timestamp
with 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
,BIGSERIAL
for psqldef #33
- Remove
pg_dump
dependency for psqldef #32
- Show
pg_dump
error 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_TIMESTAMP
on MySQL
- Fix issues on handling primary key #21
- Add
--password-prompt
option tomysqldef
/psqldef
- This may be deprecated later once
--password
without value is properly implemented
- This may be deprecated later once
- Add
-S
/--socket
option ofmysqldef
to use unix domain socket - Change
-h
option ofpsqldef
to 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
AFTER
orFIRST
onADD COLUMN
on mysqldef
- Support
$PGSSLMODE
environment variable to specifysslmode
on 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-columnREFERENCES
for 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
--export
on PostgreSQL - Prevent unexpected DDLs caused by data type aliases (bool, integer, char, varchar)
- Support
ADD PRIMARY KEY
/DROP PRIMARY KEY
in MySQL - Support parsing more data types for PostgreSQL: boolean, character
- Be aware of implicit
NOT NULL
onPRIMARY KEY
- Use
--schema-only
onpg_dump
in psqldef
- Support
$MYSQL_PWD
environment variable to set password on mysqldef - Support
$PGPASS
environment variable to set password on psqldef
- Support changing index on both MySQL and PostgreSQL
- Basic support of
CHANGE COLUMN
on MySQL - All non-SQL outputs on apply/dry-run/export are formatted like
-- comment --
- Support handling index on PostgreSQL
- Support
ADD INDEX
by modifyingCREATE TABLE
on MySQL
- Parse column definition more flexibly
- ex) Both
NOT NULL AUTO_INCREMENT
andAUTO_INCREMENT NOT NULL
are now valid
- ex) Both
- Support parsing
character varying
for PostgreSQL - Remove
;
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
mysqldef
for MySQL- Create table, drop table
- Add column, drop column
- Add index, drop index
psqldef
for PostgreSQL- Create table, drop table
- Add column, drop column