Releases: dashhudson/skeema
Releases · dashhudson/skeema
v1.10.0
Changelog
- 8739f73 -- Fix to support bit fields when generating DDL statements.
- bc18794 .skeema files: stop climbing dir hierarchy at repo base or $HOME
- 54dc945 2nd iteration of the tengo tests
- 89eac4c Add Instance methods for obtaining version and flavor
- 8497916 Add Instance.String(); add methods for dropping schemas and tables
- 7b9110d Add IsDatabaseError convenience function
- 9be62f0 Add MariaDB 10.4 to list of officially supported flavors
- 3bfc1de Add MariaDB 10.4 to list of supported flavors
- a478b3a Add MariaDB 10.5 to list of officially supported flavors
- a12df24 Add Percona Server 8.0, Percona Server 5.5 to supported list
- e393352 Add README.md, along with LICENSE and NOTICE (Apache v2)
- 0e44cfd Add Schema.Table() convenience method, and change more methods to use ptr receivers
- c3175f6 Add SourceString and Source methods to DockerizedInstance (skeema#15)
- 244fde5 Add StatementModifiers.AllowUnsafe field, unifying old AllowDrop fields
- 9e01abd Add a Dep Gopkg.toml; try reverting to Golang 1.9 in Travis
- 11b5a67 Add ability to skip binlogging in several methods (API-breaking change)
- bed4e85 Add comments for every exported method, and other fixes from golint
- cf63703 Add comments to all exported symbols, and other golint fixes
- 6594887 Add diff support for InnoDB FULLTEXT indexes
- cda9abd Add diff support for generated columns (MySQL 5.7+, MariaDB 10.2+)
- 470ecdc Add error predicate functions
- 543f9ad Add filtering and speedups to some Instance methods
- 08428bc Add full Instance support for params; improve error-handling
- 7be9f28 Add initial Travis CI integration
- 1517f5c Add initial diff logic for partitioning status
- 886496e Add integration test suite for extensive coverage
- b881c6d Add issue templates [ci skip]
- 2aaae0c Add linter for future reserved words
- e41d11f Add locking and de-duping for Instance Protect internal state of each Instance with its own RWMutex. Keep a global map of Instances by base DSN. If a duplicate request comes in, return the existing Instance. It is now illegal to request a duplicate Instance that has a DSN only differing by username, password, or default params. In the future, tengo may offer other methods for changing these fields explicitly on an existing Instance, but never implicitly by calling NewInstance.
- 87c9ccd Add logic around whether to include or exclude next-auto-inc in DDL / command output
- a4d88bc Add method Flavor.HasInnoFileFormat(), returns whether innodb_file_format var exists
- a2c1015 Add method Flavor.InnoRowFormatReqs()
- 38a8e4f Add more debug logging when --debug is supplied
- ce85565 Add more parser safeties and edge-case improvements
- 63ed4bd Add new --lint-auto-inc checker for auto_increment sanity
- 90dde92 Add new --lint-definer checker for restricting routine definers
- 0f804d5 Add new --lint-display-width checker for int-type cols
- a0734b1 Add new --lint-dupe-index duplicate index checker
- 67a35ca Add new --lint-has-fk checker for presence of foreign keys
- d44bea3 Add new --lint-has-float checker for presence of floating-point types
- c9b175c Add new --lint-has-routine checker for presence of stored procs/funcs
- 009de55 Add new --lint-has-time checker for presence of temporal col types
- e4df168 Add new ShellOut methods for capturing/parsing STDOUT
- 18c7236 Add new StatementModifier field CompareMetadata
- f104402 Add new func ParseFlavor; use in Instance.hydrateFlavorAndVersion()
- b15bd73 Add new linter for PK type
- 0ca0bc9 Add new method Instance.DropRoutinesInSchema()
- 0b1c208 Add new method Instance.SchemasByName() for convenience
- 9fc6dbd Add new method Instance.StrictModeCompliant()
- a0f8510 Add new method Instance.TableHasRows()
- 8af4a9b Add new method Table.ClusteredIndexKey()
- d385890 Add new option temp-schema-binlog controlling workspace DDL replication
- 5055cf0 Add new utility function ParseCreatePartitioning()
- b22daf5 Add option temp-schema-threads for configurable concurrency
- d55cfbb Add option to ignore .my.cnf file
- 46f02d7 Add optional support for ALGORITHM and LOCK clauses in ALTER TABLE via StatementModifiers
- b98b32a Add partitioning-related structs and introspection
- 47f003a Add recommended workflow to docs
- 1626b82 Add regex options ignore-table and ignore-schema (skeema#15)
- ed5d99a Add semicolon and newline to end of sqlfiles when writing, and return byte written count
- 2881ef8 Add skeema lint, and skeema pull --normalize, to rewrite files in mysql SHOW CREATE TABLE format
- efb15b7 Add skeleton README, along with NOTICE and LICENSE (Apache v2)
- f84d944 Add support for COMMENT clauses in table, columns, and index definitions
- a9cb684 Add support for MariaDB 10.2 and 10.3
- a4cceec Add support for MariaDB 10.5
- dd14442 Add support for MySQL 5.5
- 7307066 Add support for Percona Server 8.0 and Percona Server 5.5
- f16daa0 Add support for auto-detecting tables using features not yet supported by Tengo
- fde6ea8 Add support for column-level CHARACTER SET and COLLATE clauses
- 2272337 Add support for configuring arbitrary MySQL session vars upon connection
- 96e6cf4 Add support for detaching a Schema from its origin Instance
- ab2facc Add support for disable_ and enable_ prefixes
- 04193a8 Add support for routines (stored procs and funcs)
- 18003d2 Add support for routines (stored procs and funcs)
- 6339cfd Add support for schema-level default charset and collation
- f003699 Add support for table-level create_options
- 3f4e124 Add support for table-level create_options
- 20aa427 Add support for timestamp column special default and on-update behavior
- 5cfb37d Add support for unix domain sockets
- 72ffc93 Add test case reproducing MySQL 5.5 FK order bug
- f385ceb Add test coverage for GetDockerizedInstance and Destroy
- 5480446 Add tests, incorporate feedback
- 1ea32f5 Add two more Flavor-related utility methods
- 14ec6dd AddPartitioning, RemovePartitioning: fix multi-clause ALTERs
- 6808c62 Additional tweaks to FK ordering issue in 5.5
- 8081d3d Allow DDL statement generation to return errors Add new StatementModifiers to allow or forbid destructive actions (DROP TABLE or ALTER TABLE ... DROP COLUMN).
- 8c25ea0 Allow diffs to/from nil schemas
- 46837fb Allow dropping tables and/or columns, if corresponding option supplied
- 00c830a Allow host option to be a comma-separated list of hosts
- 7216555 Allow lint to continue linting past the first error in a directory
- 68f71e0 Avoid information_schema capitalization issues in MySQL 8.0+
- 8d699fa Begin laying groundwork for service discovery and sharding
- 41b6a50 Better handling for invalid connection information (do not panic)
- ba543e2 Better handling of errors in config parsing; skip dir creation if cannot connect in init
- 348fda9 Blocked DDL now returns new ForbiddenDiffError type, rather than errorString
- c321160 Bring back former option callback logic via more direct call paths
- 2e2e10f Bug fix for NormalizeCreateOptions(): regexps must be ordered consistently
- c190264 Bugfix: overzealous config check was breaking init
- 10153c0 BulkDropOptions: permit a *Schema to be supplied
- aac8a06 Bump skeema version number for partitioning beta 1
- 9b1348f Bump version to v1.4.4
- c2aa734 Bump version; update credits in README
- 7d20c8c CHECK constraints: workaround for MariaDB I_S truncation
- b578d01 CI: Update Golang version and MySQL integration test versions
- 4ee71de CI: Update Golang version and MySQL integration test versions
- 9a55af6 CI: make Coveralls errors fatal again
- 389e2b9 CI: move from Travis to GitHub Actions
- 40f89e1 CI: move from Travis to GitHub Actions
- 95ccfc0 Cache targets in config. Also a few minor fixes found via go vet.
- 8458b80 Change how unsupported tables are treated in diffs
- 69bd66e Change the Flavor abstraction to include major and minor version numbers
- cb9f9a0 Check constraints: account for ordering in diff
- 4938c1b Clean up error-handling such that we never panic due to a connection or query error
- fd8d202 Cleaning up option-handling for init command
- be1c9f8 Code re-org to make shellout execution logic more generic
- a41ba07 Column reordering test: keep code for exhaustive random test (not currently in use) [ci skip]
- bca198e Column reordering: implement proper LIS algo
- fc3a175 Column.Definition(): fix quirks with timestamp nullability
- f281200 Command now return error instead of int exitcode; replace panicky Config.MustGetInt with Config.GetIntOrDefault
- dcc4fc1 Complete refactor of configuration, flag-handling, target struct, etc
- 71e2f93 Connection pool conn management adjustments
- fc157f5 Created the Tengo tests for constraints
- 9713a07 DDL: Support StatementModifiers.IgnoreTable to filter on table name
- 4985a70 Default to using a consistent, strict sql_mode. Fixes skeema#31
- 804a538 Dependencies: Docker-related updates
- 60d4a52 Dependencies: update github.com/fsouza/go-dockerclient
- 4260504 Dependency updates
- 7406ea7 Dependency updates
- 1f12922 Dependency updates
- e636fa6 Dependency updates and connection pool tweaks
- e98d730 Deprecate option --reuse-temp-schema, and fix bugs in it
- df397c2 Detect syntax errors in .sql files and provide better error with file path
- ad11f1f Diff support for InnoDB transparent page compression
- 292b645 Diff support for tables using Percona Server column compression
- 1822452 Dir.InstanceDefaultParams(): Set 3 more session variables
- b2365db Do not re-sort secondary indexes; must preserve default ordering to match SHOW CREATE TABLE
- fc4dd3e Do not use pointer to loop alias var
- baa9a9c Docker: disable TLS in conns to local DB container
- 269db9a Docker: don't break existing images on tag change
- 758a8d6 DockerizedInstance: avoid leaking open file descriptors
- c597ea7 DockerizedInstance: fix bugs in handling empty password
- 390129a DockerizedInstance: re-inspect container if no port mapping yet
- bb1513a DockerizedInstance: support specifying non-blank default connection params
- 7ca6bd8 DockerizedInstance: two small fix...