Giter VIP home page Giter VIP logo

couchmove's People

Contributors

dependabot[bot] avatar gkysaad avatar hdurix avatar jesusthehun avatar rbleuse avatar tchlyah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

couchmove's Issues

New Nested Jar URI Format Support

Support of URL format which is more compliant with JDK expectations. Currently loading of the changelogs from the nested jar supports only the old format of the path like jar:file:/tmp/some-1.0.jar!/BOOT-INF/classes!/couchbase/changelog/v1 but needs to support more compliant version like jar:nested:/tmp/some-1.0.jar/!BOOT-INF/classes/!/couchbase/changelog/v1. This will also help to use the couchmove with the latest versions of the Spring Boot Uber jar.

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes#nested-jar-support

add "wait for" functionality

Seems like an enhancement would be helpful in regards to how scopes and collections work.

The following script will fail:

CREATE SCOPE bucket.scope;
CREATE COLLECTION bucket.scope.collection;
INSERT INTO bucket.scope.collection...

because the first statement returns before the scope was actually created. And the second one will not find a scope to add a collection to. If it manages to execute the second line because the scope somehow was created very fast then the third insert will fail if the collection might not be available yet.

This is reproducible within couchmove and even couchbase admin tool query.

If would be nice to add a function like

WAIT_UNTIL(select list of scopes where scope = '...' );

that will loop until the statement returns at least one record.

Standalone executable

Hi,

This seems to be exactly like flyway replacement for couchbase. I'm not familiar with Java and its tooling. So I'm not sure if this is a lib or there is standalone executable with command line/config file options to run migrations? Or even better to be run as docker container?

Apply migrations from several nodes

Hello,

Thank you for the great product, first of all!
We've faced with a problem to apply migrations from two nodes of a single service.
First node creates an index once started, which is ok. The second node starts later and doesn't know if the index already created. Thus, the second node fails with error like "index already created".
Looks like first node created changelog record successfully, but before the second node tested it.
I wonder if you have some mechanism to synchronize nodes?

Thanks,

Support for Rest API

Currently CouchBase doesn't support FTS index creation via N1QL and I have to relay on Rest API. Will you be able to include RestAPI support in couchmove?

[Question] How failures are handled by couchmove?

Hello all,

I am at the point of research methods and tools for migrating couchbase documents in an elegant manner.
I saw no description inside the provided wiki page of how failures are handled in here?
Is there a row back to the previous state of the DB?

As well, are there any limitations that could be faced - like a number of records manipulated or something else?

And lastly, is there a way to pass arguments to the statements that should be executed? If they are coming from somewhere else and an application should commit them inside the DB?

Thanks in advance.

FTS with custom type mapping not working in couchmove 3.0

With new couchmove 3.0, I am not able to create FTS index , where I have to create FTS index using custom type_field, and type mappings. The same FTS json was working fine in earlier couchmove 2.0 release.
As I want to narrow down the FTS, only with specific attributes having the required value.
Please provide your inputs.

Below the .fts file content under /db/migration, which I am trying to create.

{
"name": "problemSearch",
"type": "fulltext-index",
"params": {
"doc_config": {
"docid_prefix_delim": "",
"docid_regexp": "",
"mode": "type_field",
"type_field": "_class"
},
"mapping": {
"default_analyzer": "standard",
"default_datetime_parser": "dateTimeOptional",
"default_field": "_all",
"default_mapping": {
"dynamic": true,
"enabled": false
},
"default_type": "_default",
"docvalues_dynamic": true,
"index_dynamic": true,
"store_dynamic": false,
"type_field": "_type",
"types": {
"com.bhatt.avengers.supermmanagement.entity.Problem": {
"dynamic": true,
"enabled": true
}
}
},
"store": {
"indexType": "scorch",
"kvStoreName": ""
}
},
"sourceType": "couchbase",
"sourceName": "fault_management"
}

Migrate to SDK3

New Spring Data Couchbase release (4.0) uses SDK3.

So lack of support for SKK3 in couchmove will block migration to Spring Boot 2.3 in JHipster.

Allow custom variables in scripts

In Flyway, you can pass custom values to your migration scripts, this is really useful, and would need it.
The need I have right now is that the replication factor when creating indexes will not be the same in dev or in prod, so I need a way to pass it correctly to have scripts that will stay the same in all the environments.

I will submit a MR for it shortly

Build package of version 3.4 for maven repository

Hi there! Is it possible to build the package of version 3.4 for maven repository? Currently only V3.2.2 is available and that version uses guava-31.0 which has known vulnerabilities. V3.4 already fixes that with the use of guava-32 which is OK.

Thank you
Vasco Pinheiro

๐Ÿ‘ท Enable Dependabot for automatic dependency updates

We should enable Dependabot to automatically check for updates to our dependencies and create pull requests with the latest versions. This will help us stay up to date with the latest versions of our dependencies and improve the security and stability of our project.

To use Dependabot with Gradle, we need to migrate our Gradle build to use version catalogs, as Dependabot is only compatible with this format.

How to use? wiki?

Hello,

I am trying to use the couchbase branch for jhipster and having some errors with couchmove, but when I come to couchmove's repo there is not documentation on how to use it and configured. the wiki has no content. Any plans for the docs? thanks!

Fail to create FTS index using RBAC

Using Couchmove 2.x and RBAC, I get the following error for a FTS change :

Caused by: com.github.couchmove.exception.CouchmoveException: Could not store FTS index : {"error":"rest_auth: cbauth.AuthWebCreds, err: Authentication failure", ... }

This does not happen when I used the legacy way to authenticate.
Other type of changes work fine.

Edit : this happens inside of a k8s cluster
Edit 2 : just to be clear, I have upgraded the user to a full admin to be it was not a silly right mistake

FTS index creation fails

I have a file named V42__foo.fts, containing a valid json for a FTS index.
During migration, the FTS indexes creation fail with this error :

Could not store FTS index : {"error":"rest_auth: cbauth.AuthWebCreds, err: no web credentials found in request","request":{ ... },"status":"fail"}

The code used :

Couchmove couchMove = new Couchmove(couchbaseBucket, couchbaseProperties.getUsername(), couchbaseProperties.getPassword(), "config/couchmove/main/changelog");
couchMove.migrate();

Executing in debut mode showed couchbaseProperties is correct, but in com.github.couchmove.repository.CouchbaseRepositoryImpl:168, credentials are empty.

UpsertSearchIndexResponse response = bucket.core() .send(new UpsertSearchIndexRequest(name, jsonContent, username, password)) <= empty

The user has all necessary rights on the bucket.
n1ql and json files are migrated correcly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.