Support golang-migrate/migrate
that sets SERIALIZABLE isolation level
#45487
Labels
type/feature-request
Categorizes issue or PR as related to a new feature.
Feature Request
Is your feature request related to a problem? Please describe:
One of the database migration tool, https://github.com/golang-migrate/migrate.
Describe the feature you'd like:
golang-migrate/migrate
sets isolation level toSERIALIZABLE
for MySQL database connections since golang-migrate/migrate#656I recall that other migration tools like Ruby on Rails, Flyway, Prisma Migrate and elixir Ecto uses advisory locks not to run multiple migration at the same time. Now TiDB supports
get_lock()
function this issue has been resolved. #33947#14994 on the other hand,
golang-migrate/migrate
usesSERIALIZABLE
for the same purpose.Describe alternatives you've considered:
Set
tidb_skip_isolation_level_check = 1
to workaround it.Teachability, Documentation, Adoption, Migration Strategy:
Here is the steps to reproduce:
golang-migrate
Error 8048: The isolation level 'SERIALIZABLE' is not supported. Set tidb_skip_isolation_level_check=1 to skip this error
tidb_skip_isolation_level_check = 1
to workaround ittidb_skip_isolation_level_check = 1
The text was updated successfully, but these errors were encountered: