Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SurrealDB #917

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

SurrealDB #917

wants to merge 13 commits into from

Conversation

sam-kleiner
Copy link

@sam-kleiner sam-kleiner commented Apr 8, 2023

Support for SurrealDB

Please let me know if you see any issues. I do not have a lot of Go experience (like almost none).

@coveralls
Copy link

coveralls commented Apr 8, 2023

Coverage Status

Coverage: 58.526%. Remained the same when pulling e2bbf39 on sam-kleiner:surrealdb into 84009cf on golang-migrate:master.

@sam-kleiner sam-kleiner marked this pull request as ready for review April 9, 2023 06:01
@sam-kleiner
Copy link
Author

sam-kleiner commented Apr 9, 2023

Would anyone be able to explain why the tests are failing in CI with "Failed: timed out waiting for container to get ready". Everything passes locally. I have tried tweaking the dktest.Options but as far as I can tell the settings I have should work.

Screenshot from 2023-04-09 01-52-24

Relevant logs https://github.com/golang-migrate/migrate/actions/runs/4648927110/jobs/8226936355#step:4:11527

@sam-kleiner sam-kleiner marked this pull request as draft April 9, 2023 18:39
@sam-kleiner sam-kleiner marked this pull request as ready for review April 18, 2023 17:32
Copy link
Member

@dhui dhui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sam-kleiner thanks for opening a PR!

I'm not familiar with SurrealDB. Would you be able to provide ongoing support for the db driver after this is merged in?
Also, how soon will a production release be available? It might be worth waiting to merge this PR until after a SurealDB production release.

Please let me know if you see any issues. I do not have a lot of Go experience (like almost none).

I don't have the bandwidth to do a thorough review, but at a quick glance everything looks fine. We can always fix things later, especially if this driver doesn't have much usage


"github.com/golang-migrate/migrate/v4/database"
"github.com/hashicorp/go-multierror"
"github.com/surrealdb/surrealdb.go"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know if the surrealdb go client supports multiple platforms?
My guess is that it does since it seems to be implemented in pure Go.
You can test this by running make build-cli or more comprehensively with DATABASE=$(make echo-database) SOURCE=$(make echo-source) goreleaser release --clean --snapshot --skip-docker

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that yes it supports multiple platforms here is the output of DATABASE=$(make echo-database) SOURCE=$(make echo-source) goreleaser release --clean --snapshot --skip-docker. That looks to have succeeded

  • starting release...
  • loading                                          path=.goreleaser.yml
  • DEPRECATED: --skip-docker was deprecated in favor of --skip=docker, check https://goreleaser.com/deprecations#-skip for more details
  • skipping announce, docker, publish and validate...
  • loading environment variables
  • getting and validating git state
    • ignoring errors because this is a snapshot     error=git doesn't contain any tags. Either add a tag or use --snapshot
    • git state                                      commit=bcdd2f120462bec5a83b31c7f8a611d44e963be2 branch=surrealdb current_tag=v0.0.0 previous_tag=<unknown> dirty=false
    • pipe skipped                                   reason=disabled during snapshot mode
  • parsing tag
  • setting defaults
  • snapshotting
    • building snapshot...                           version=v0.0.0-next
  • running before hooks
    • running                                        hook=go mod tidy
    • took: 4s
  • checking distribution directory
  • loading go mod information
  • build prerequisites
  • writing effective config file
    • writing                                        config=dist/config.yaml
  • building binaries
    • building                                       binary=dist/migrate_darwin_arm64/migrate
    • building                                       binary=dist/migrate_linux_amd64_v1/migrate
    • building                                       binary=dist/migrate_windows_arm_7/migrate.exe
    • building                                       binary=dist/migrate_linux_arm64/migrate
    • building                                       binary=dist/migrate_darwin_amd64_v1/migrate
    • building                                       binary=dist/migrate_windows_arm64/migrate.exe
    • building                                       binary=dist/migrate_windows_amd64_v1/migrate.exe
    • building                                       binary=dist/migrate_windows_386/migrate.exe
    • building                                       binary=dist/migrate_linux_386/migrate
    • building                                       binary=dist/migrate_linux_arm_7/migrate
    • took: 1m11s
  • archives
    • creating                                       archive=dist/migrate.linux-386.tar.gz
    • creating                                       archive=dist/migrate.linux-armv7.tar.gz
    • creating                                       archive=dist/migrate.windows-arm64.zip
    • creating                                       archive=dist/migrate.linux-arm64.tar.gz
    • creating                                       archive=dist/migrate.windows-amd64.zip
    • creating                                       archive=dist/migrate.windows-armv7.zip
    • creating                                       archive=dist/migrate.windows-386.zip
    • creating                                       archive=dist/migrate.darwin-arm64.tar.gz
    • creating                                       archive=dist/migrate.linux-amd64.tar.gz
    • creating                                       archive=dist/migrate.darwin-amd64.tar.gz
    • took: 6s
  • creating source archive
    • creating source archive                        file=migrate-v0.0.0-next.zip
  • linux packages
    • creating                                       package=migrate format=deb arch=arm64 file=dist/migrate.linux-arm64.deb
    • creating                                       package=migrate format=deb arch=386 file=dist/migrate.linux-386.deb
    • creating                                       package=migrate format=deb arch=arm7 file=dist/migrate.linux-armv7.deb
    • creating                                       package=migrate format=deb arch=amd64v1 file=dist/migrate.linux-amd64.deb
    • took: 1s
  • calculating checksums
  • storing release metadata
    • writing                                        file=dist/artifacts.json
    • writing                                        file=dist/metadata.json
  • you are using deprecated options, check the output above for details
  • release succeeded after 1m21s
  • thanks for using goreleaser!

@sam-kleiner
Copy link
Author

sam-kleiner commented Feb 1, 2024

@dhui

Also, how soon will a production release be available? It might be worth waiting to merge this PR until after a SurealDB production release.

Since the initial work SurrealDB has released v1 and is out of beta. I updated the relevant bits in the PR to reflect this

I'm not familiar with SurrealDB. Would you be able to provide ongoing support for the db driver after this is merged in?

I would be willing to help support this going forward.

@sam-kleiner
Copy link
Author

Waiting on dhui/dktest#21

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants