Flyway by Redgate • Database Migrations Made Easy.

Overview

Flyway by Redgate Build Status Maven Central GitHub license

Database Migrations Made Easy.

Flyway

Evolve your database schema easily and reliably across all your instances.

Simple, focused and powerful.

Works on

Windows, macOS, Linux, Docker, Java and Android

Supported build tools

Maven and Gradle

Supported databases

Oracle, SQL Server, DB2, MySQL, Aurora MySQL, MariaDB, Percona XtraDB Cluster, PostgreSQL, Aurora PostgreSQL, Redshift, CockroachDB, SAP HANA, Sybase ASE, Informix, H2, HSQLDB, Derby, SQLite, Firebird

Third party plugins

SBT, Ant, Spring Boot, Grails, Play!, DropWizard, Grunt, Griffon, Ninja, ...

Documentation

https://flywaydb.org

About

Flyway is brought to you by Redgate with the help of many contributors.

How to contribute

https://flywaydb.org/documentation/contribute

License

Copyright © Red Gate Software Ltd 2010-2020

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Trademark

Flyway is a registered trademark of Boxfuse GmbH, owned by Red Gate Software Ltd.

Comments
  • Condense existing migrations into a new initial one

    Condense existing migrations into a new initial one

    Original author: [email protected] (March 29, 2013 11:29:05)

    We have hundred migrations, tabels created and drops, unnecessary fields and so on. It will be great to add cummulative migration which can be applied to clean schema to optimize initial migration.

    Original issue: http://code.google.com/p/flyway/issues/detail?id=470

    t: feature 
    opened by flyway 65
  • Output to sql file instead of commiting against the DB

    Output to sql file instead of commiting against the DB

    Original author: [email protected] (March 18, 2013 05:59:16)

    HI,

    We're just starting to use flyway in our project and so far it looks really good. It's gonna help us a lot automatically upgrade all of our different environments.

    One thing that would be nice is way to combine all or specific sql versions into one sql file. We would use this because we can't tell our client's IT department (big client) to use flyway for upgrading the prod database and we obviously don't have access to that database. Currently the only way we can get the database upgraded is by sending them an SQL file (which they run on their stage before prod).

    In theory we could manually combine all the relevant files ourselves but that could be a bit cumbersome and error-prone. Also things like placeholders would need to be replaced manually (search & replace but still) with the proper value, again error-prone.

    We use maven so a new goal should do it.

    That said thanks for the great work!

    Original issue: http://code.google.com/p/flyway/issues/detail?id=452

    t: feature m: Core 
    opened by flyway 62
  • Clean tries to drop a function from an extension and fails

    Clean tries to drop a function from an extension and fails

    Original author: [email protected] (May 11, 2012 10:11:31)

    We are using PostgreSQL 9.1 and are using the uuid-ossp extension. Clean tries to drop one of its functions. The extension has been installed manually as it required adding binaries to the DBMS.

    Any way to work around this?

    FlywayException: Error executing statement at line 64: DROP FUNCTION IF EXISTS "public"."uuid_nil"() CASCADE Occured in com.googlecode.flyway.core.migration.sql.SqlStatement in method execute, line number 78 Caused by org.postgresql.util.PSQLException: ERROR: cannot drop function uuid_nil() because extension uuid-ossp requires it Hint: You can drop extension uuid-ossp instead. Occured in org.postgresql.core.v3.QueryExecutorImpl in method receiveErrorResponse, line number 2102

    Original issue: http://code.google.com/p/flyway/issues/detail?id=257

    t: bug d: PostgreSQL r: fixed 
    opened by flyway 53
  • Database Downgrade

    Database Downgrade

    Original author: [email protected] (September 20, 2012 07:06:48)

    I am new to flyway and currently evaluating how/if we could use flyway in our project.

    What I really miss, is the possibility to downgrade a database to a previous version. Migrating to the newest version is fine when you start from scratch and when you have no (production) data in a database. But in the case you have to step back you still have to do everything manually.

    In my opinion, this would not very hard to implement. You just have to provide some additiona scripts with a __dowgrade suffix that revert a certain version and do the things you did from the other direction.

    At the moment, this is the main issue regarding use/don't use flyway. Stepping back seems to be still clumsy and when it is necessary to do a downgrade manually, the question arises to do the migration manually also to be consistent.

    Original issue: http://code.google.com/p/flyway/issues/detail?id=334

    t: feature 
    opened by flyway 40
  • Gradle plugin

    Gradle plugin

    A gradle plugin based on the Flyway 2.x series (original).

    This plugin is integrated into the Maven build using the gradle-maven-plugin to invoke the gradle build. The gradle wrapper is invoked so that the maven packaging phase has the compile jars in the target folder. This allows maven to pick up the jars in subsequent phases, like install.

    opened by ben-manes 40
  • Ignore line endings when calculating checksums

    Ignore line endings when calculating checksums

    Original author: [email protected] (September 28, 2011 15:49:50)

    We ran into the following problem.

    Developer on Mac/Linux creates a sql migration file and checks it into Git. It runs on production (which is on Linux) just fine.

    Then a Windows developer takes a copy of the production database and loads it into their local machine. But when they pulled the sql migration file from Git, it automatically converted the line endings to CRLF (Windows style). Now Flyway validate and migrate fail saying there is a checksum mismatch.

    One solution I can think of would be to ignore line endings when doing the checksum.

    Original issue: http://code.google.com/p/flyway/issues/detail?id=167

    t: bug m: Core 
    opened by flyway 38
  • added support for non-transactional SQL migrations

    added support for non-transactional SQL migrations

    fixes #1026

    • added new Resolver and Executor classes
    • NTSqlMigrationResolver works on the files prefixed with "NTV", currently hardcoded. (Looking forward for suggestions over this)
    • Added the new resolver in migrationResolvers while creating CompositeMigrationResolver instance
    • added small test for new resolver
    opened by Omie 37
  • Support Multiple Migrations within a single Transaction

    Support Multiple Migrations within a single Transaction

    Original author: [email protected] (April 24, 2013 05:01:42)

    When upgrading a database I would expect all un-applied migrations to be applied within the same transaction. Currently each migration runs within its own transaction.

    My use-case looks something like this:

    1. Version 1.0 is deployed into Production
    2. Developers work on features for Version 2.0, each creating a migration script matching their new feature.
    3. As development progresses, V2.x migrations, and the associated application, are put into QA.
    4. Eventually we decide we've done enough, and want to release v2, and it's myriad migration scripts.
    5. When we run the deployment against v1 in production we expect all the v2.x migrations to run, and if there is a problem with any of them, then the database is rolled back, and we revert the application to v1 while we figure out what went wrong.

    We really don't want some of the v2 scripts to be committed to the production database.

    We're using Postgres, so DDL rolls back nicely.

    I'm happy to do the change, if nobody else is interested, but it seems like an "obvious" feature to me. None of your competition seem to offer it either. Am I missing something?

    Original issue: http://code.google.com/p/flyway/issues/detail?id=484

    t: feature m: Core 
    opened by flyway 34
  • Sybase ASE support

    Sybase ASE support

    Original author: [email protected] (October 24, 2012 08:08:44)

    Hi, your frameworks looks very good but it'd be fine to support Sybase. It's very similar to SQL Server.

    I'll be looking forward for this enhancement if accepted.

    Thanks in advance.

    Original issue: http://code.google.com/p/flyway/issues/detail?id=350

    t: feature 
    opened by flyway 34
  • support sbt 1.0

    support sbt 1.0

    sbt 1.0.0 released http://developer.lightbend.com/blog/2017-08-11-sbt-1-0-0/

    sbt 1.0.x is not compatible with sbt 0.13.x. need cross build or migrate to 1.0.

    t: feature m: SBT 
    opened by xuwei-k 30
  • Gradle Plugin

    Gradle Plugin

    Original author: [email protected] (February 03, 2011 21:50:00)

    Small wrapper around the Flyway class, similar to the Maven Plugin

    Original issue: http://code.google.com/p/flyway/issues/detail?id=88

    t: feature m: Gradle 
    opened by flyway 30
  • Use setup-java action to cache dependencies

    Use setup-java action to cache dependencies

    Signed-off-by: jongwooo [email protected]

    Description

    Updated workflows to cache dependencies using actions/setup-java. setup-java@v3 or newer has caching built-in.

    About caching workflow dependencies

    Jobs on GitHub-hosted runners start in a clean virtual environment and must download dependencies each time, causing increased network utilization, longer runtime, and increased cost. To help speed up the time it takes to recreate files like dependencies, GitHub can cache files that frequently use in workflows.

    Solutions

    Java projects can run faster on GitHub Actions by enabling dependency caching on the setup-java action. setup-java supports caching for both Gradle and Maven projects.

    AS-IS

    - name: Set up JDK ${{ matrix.java }}
      uses: actions/setup-java@v2
      with:
        java-version: ${{ matrix.java }}
        distribution: 'temurin'
    

    TO-BE

    - name: Set up JDK ${{ matrix.java }}
      uses: actions/setup-java@v3
      with:
        java-version: ${{ matrix.java }}
        distribution: 'temurin'
        cache: 'maven'
    

    It’s literally a one line change to pass the cache: 'maven' input parameter.

    References

    actions/setup-java#caching-packages-dependencies

    opened by jongwooo 1
  • Clarification needed: ignoreMigrationPatterns

    Clarification needed: ignoreMigrationPatterns

    Which version and edition of Flyway are you using?

    Flyway Community 9.7.0

    Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)

    command-line

    Which database are you using? (Type & version)

    Oracle 19

    Which operating system are you using?

    Linux

    This documentation is not very clear if the ignoreMigrationPatterns is in the Teams edition, or it is also in Community edition, but some aspects of it are in Teams. Can you please clarify? The following configuration, according to the above docs seems allowed in Community edition:

    flyway.ignoreMigrationPatterns = "*:missing"
    

    but does not have any effect. If the option is for Teams edition only, can you issue an appropriate error message and not just ignore it?

    s: waiting for feedback 
    opened by hrstoyanov 2
  • Snowflake scripting problems

    Snowflake scripting problems

    Which version and edition of Flyway are you using?

    docker 9.8.3-alpine

    If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)

    yes, newest available docker image, when testing was started

    Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)

    command-line

    Which database are you using? (Type & version)

    Snowflake 6.40.1

    Which operating system are you using?

    alpine (docker distribution)

    What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)

    There are already introduced improvements to Snowflake scripting from version 9.7.0 and most scenarios are already working well, but still during our tests we've found below cases, which directly in Snowflake worksheets works ok.

    1. If block.

    BEGIN
        IF (NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS AS c WHERE c.TABLE_SCHEMA = 'TEST_FLYWAY_UPGRADE' AND c.TABLE_NAME = 'T_FLYWAY_EXAMPLE_MERGE' AND c.COLUMN_NAME = 'NEW_COLUMN')) THEN
            ALTER TABLE IF EXISTS TEST_FLYWAY_UPGRADE.ST_FLYWAY_EXAMPLE_MERGE ADD COLUMN NEW_COLUMN BOOLEAN NOT NULL DEFAULT FALSE;
        END IF;
    END;
    
    

    UI: Works Flyway: my-flyway | ----------------------------------- my-flyway | SQL State : 42000 my-flyway | Error Code : 1003 my-flyway | Message : SQL compilation error: my-flyway | syntax error line 2 at position 7 unexpected '('. my-flyway | syntax error line 2 at position 51 unexpected '.'. my-flyway | Location : /app/scripts/R__end_if_case.sql (/app/scripts/R__end_if_case.sql) my-flyway | Line : 3 my-flyway | Statement : BEGIN my-flyway | IF (NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS AS c WHERE c.TABLE_SCHEMA = 'TEST_FLYWAY_UPGRADE' AND c.TABLE_NAME = 'T_FLYWAY_EXAMPLE_MERGE' AND c.COLUMN_NAME = 'NEW_COLUMN')) THEN my-flyway | ALTER TABLE IF EXISTS TEST_FLYWAY_UPGRADE.ST_FLYWAY_EXAMPLE_MERGE ADD COLUMN IS_SQLSERVER_CDC BOOLEAN NOT NULL DEFAULT FALSE my-flyway | my-flyway | Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error: my-flyway | syntax error line 2 at position 7 unexpected '('. my-flyway | syntax error line 2 at position 51 unexpected '.'.

    Another case:

    DECLARE
      MY_EXCEPTION EXCEPTION (-20002, 'RAISED MY_EXCEPTION.');
    BEGIN
      LET COUNTER := 0;
      LET SHOULD_RAISE_EXCEPTION := TRUE;
      IF (SHOULD_RAISE_EXCEPTION) THEN
        RAISE MY_EXCEPTION;
      END IF;
      COUNTER := COUNTER + 1;
      RETURN COUNTER;
    END;
    

    UI: properly raised exception, Flyway: my-flyway | Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error: my-flyway | syntax error line 8 at position 8 unexpected ''.

    2. FOR loop

    CREATE OR REPLACE PROCEDURE TEST_FOR_LOOP(ITERATION_LIMIT INTEGER)
    RETURNS INTEGER
    LANGUAGE SQL
    AS
    DECLARE 
    	COUNTER INTEGER DEFAULT 0;
    BEGIN  
        FOR I IN 1 TO ITERATION_LIMIT DO
                COUNTER := COUNTER + 1;
        END FOR;
        RETURN ITERATION_LIMIT;
    END;
    

    UI: works Flyway: my-flyway | syntax error line 10 at position 11 unexpected ''. It looks like issue with every block closure/sentence like END %;

    3. EXCEPTION BLOCK with dynamic code

    BEGIN
        CREATE OR REPLACE PROCEDURE TEST_FLYWAY_EXCEPTIONS()
        RETURNS VARCHAR
        LANGUAGE SQL
        EXECUTE AS CALLER
        AS
        DECLARE 
            sql STRING;
            rtn STRING;
        BEGIN
            SELECT "Hello world" INTO :rtn;
            RETURN (:rtn);
       EXCEPTION
            WHEN OTHER THEN  
                LET exsqlcode := sqlcode;
            BEGIN
                SELECT CONCAT('DECLARE user_exception EXCEPTION (-3424324, ''RAISE MY__FLYWAY_TEST_EXCEPTION.''); \n'
                            , 'BEGIN \n'
                            , '\t RAISE user_exception; \n'
                            , 'END; \n') INTO :sql;
                EXECUTE IMMEDIATE :sql;  
            END;	
        END;  
    END;
    

    UI: success. Flyway: my-flyway | Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error: my-flyway | syntax error line 25 at position 7 unexpected ''.

    4. Merge statement with DECLARE

    CREATE TABLE IF NOT EXISTS TEST_FLYWAY_UPGRADE.T_FLYWAY_EXAMPLE_MERGE_TEST ("ID" number, "ENVIRONMENT" VARCHAR(100), "TEXT" VARCHAR(100));
    
    DECLARE
    	environment_name := 'DEV';
    BEGIN
    	MERGE INTO TEST_FLYWAY_UPGRADE.T_FLYWAY_EXAMPLE_MERGE_TEST AS trg USING (
    		WITH SOURCE AS (
    			SELECT *
    				FROM (VALUES ('1',			:environment_name,	'TEST dadas')
    						   , ('2',			:environment_name,	'TEST dasdasdsa')
                               , ('3',			:environment_name,	'TEST dasdsadsadsa')
    					) m(ID, ENVIRONMENT, TEXT)
    		)
    		SELECT src.ID, src.ENVIRONMENT, src.TEXT
    				, CASE WHEN src.ID IS NULL THEN 'NOT_MATCHED_BY_SOURCE'
    					WHEN trg.ID IS NULL THEN 'NOT_MATCHED_BY_TARGET'
    					ELSE 'MATCHED' END AS MATCH
    			FROM SOURCE AS src
    			FULL JOIN TEST_FLYWAY_UPGRADE.T_FLYWAY_EXAMPLE_MERGE_TEST AS trg
    				ON trg.ID = src.ID
    	) AS src
    		ON trg.ID = src.ID
    	
    	WHEN MATCHED AND src.MATCH = 'MATCHED' AND (trg.ENVIRONMENT <> src.ENVIRONMENT OR trg.TEXT <> src.TEXT)
    	THEN UPDATE SET trg.ENVIRONMENT = src.ENVIRONMENT
    					, trg.TEXT = src.TEXT;
    END;
    

    UI: success. Flyway: my-flyway | Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: Stored procedure execution error: Scoped transaction started in stored procedure is incomplete and it was rolled back

    without DECLARE

    BEGIN
    	MERGE INTO TEST_FLYWAY_UPGRADE.T_FLYWAY_EXAMPLE_MERGE_TEST AS trg USING (
    		WITH SOURCE AS (
    			SELECT *
    				FROM (VALUES ('1',			'DEV',	'TEST dadas')
    						   , ('2',			'DEV',	'TEST dasdasdsa')
                               , ('3',			'DEV',	'TEST dasdsadsadsa')
    					) m(ID, ENVIRONMENT, TEXT)
    		)
    		SELECT src.ID, src.ENVIRONMENT, src.TEXT
    				, CASE WHEN src.ID IS NULL THEN 'NOT_MATCHED_BY_SOURCE'
    					WHEN trg.ID IS NULL THEN 'NOT_MATCHED_BY_TARGET'
    					ELSE 'MATCHED' END AS MATCH
    			FROM SOURCE AS src
    			FULL JOIN TEST_FLYWAY_UPGRADE.T_FLYWAY_EXAMPLE_MERGE_TEST AS trg
    				ON trg.ID = src.ID
    	) AS src
    		ON trg.ID = src.ID
    	
    	WHEN MATCHED AND src.MATCH = 'MATCHED' AND (trg.ENVIRONMENT <> src.ENVIRONMENT OR trg.TEXT <> src.TEXT)
    	THEN UPDATE SET trg.ENVIRONMENT = src.ENVIRONMENT
    					, trg.TEXT = src.TEXT;
    END;
    

    UI: success. Flyway: my-flyway | Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error: my-flyway | syntax error line 22 at position 26 unexpected ''.

    What did you expect to see?

    Sucessfully executed migrations.

    What did you see instead?

    Shown above exceptions.

    opened by pachu 0
  • Upgrade JNA to version 5.x

    Upgrade JNA to version 5.x

    We use the argon2-jvm library for password-hashing in our Flyway migrations. Argon2-jvm uses JNA 5.8.0. However, since flyway-commandline uses JNA 4.5.2 we have both JNA versions on the classpath at runtime.

    This leads to errors like:

    Exception in thread "main" java.lang.NoSuchMethodError: "com.sun.jna.Library com.sun.jna.Native.load(java.lang.String, java.lang.Class)"
    	at de.mkammerer.argon2.jna.Argon2Library.<clinit>(Argon2Library.java:13)
    	at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:367)
    	at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:359)
    	at de.mkammerer.argon2.BaseArgon2.hash(BaseArgon2.java:77)
    	at db.e2e_testdata.V1_3_0__std_users.migrate(V1_3_0__std_users.kt:31)
    	at org.flywaydb.core.internal.resolver.java.JavaMigrationExecutor.executeOnce(JavaMigrationExecutor.java:62)
    

    Would it be possible for Flyway to upgrade the JNA dependency to something more recent in the 5.x range?

    s: waiting for feedback 
    opened by jippeholwerda 4
  • Community database support for DB2 for z/OS

    Community database support for DB2 for z/OS

    As part of a software solution we are maintaining, we introduced Flyway to manage our solution's database schemas. However, we needed to support both DB2 LUW and DB2 for z/OS, so we added support for DB2 for z/OS as a community extension to Flyway (DB2z). This extension supports regular statements to manage database objects as well as callable statements to e.g. run some database utility like REORG or CHECK DATA. We also collaborated with one of our customers that was considering to use this new DB2z support independently for other projects.

    To properly support DB2 for z/OS, we needed to make a few additions to the Flyway core though:

    1. In JDBCTemplate, we added a method to support parameterized utility calls as part of Flyway migrations (with proper error handling). DB2z requires to use a prepared statement for such parameterized calls, and JDBCTemplate was missing a method to do such calls with regular error handling.
    2. We needed to add two new Flyway properties, specific for DB2z . One to provide the database name (which is a separate concept in DB2z, similar to a schema, but then used to hold storage related objects like table spaces etc), and another one to provide the SQLID to be used to create database objects (which may differ from the user used to connect to the database and may also differ from the schema name). Or is there a more decoupled way to add configuration properties for community database support?
    3. To distinguish between DB2 LUW and DB2z, we needed to add a condition on database product version to the existing DB2 support. If the product version starts with "DSN", we are talking to a DB2z database, while if it starts with something else, it is DB2 LUW.

    After using our customized Flyway in our large agile project for more than a year with DB2 for z/OS and also after our customer has tested Flyway z/OS support independently on other projects, we thought it would be a good thing to contribute this support for DB2 for z/OS back to the Flyway Community (as "compatible" database engine).

    We are happy to answer any questions or process any findings or improvements!

    Geert Hoekstra IBM Netherlands

    opened by gahoekstraibm 1
  • [community-db] Support OceanBase MySQL mode

    [community-db] Support OceanBase MySQL mode

    Close #3553.

    There are some modifications for database restrictions:

    • Make canUseNamedLockTemplate to return false to skip calling GET_LOCK, as this function does not exist in OceanBase
    • Make eventSchedulerQueryable to return false, as the event table does not exist in OceanBase
    • Add OceanBaseDatabaseType to handle obconnector-j and mysql-connector-java
    • Modity ensureSupported to support OceanBase versions
    opened by whhe 1
Releases(flyway-9.10.2)
Owner
Flyway by Boxfuse
Database Migrations Made Easy by @boxfuse
Flyway by Boxfuse
Easy-es - easy use for elastich search

Born To Simplify Development What is Easy-Es? Easy-Es is a powerfully enhanced toolkit of RestHighLevelClient for simplify development. This toolkit p

null 777 Jan 6, 2023
MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.

MapDB: database engine MapDB combines embedded database engine and Java collections. It is free under Apache 2 license. MapDB is flexible and can be u

Jan Kotek 4.6k Dec 30, 2022
MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.

MapDB: database engine MapDB combines embedded database engine and Java collections. It is free under Apache 2 license. MapDB is flexible and can be u

Jan Kotek 4.6k Jan 1, 2023
BenDB - An fastest, qualified & easy to use multi database library

BenDB - An fastest, qualified & easy to use multi database library

Fitchle 2 May 3, 2022
SQL made uagliò.

GomorraSQL is an easy and straightforward interpreted SQL dialect that allows you to write simpler and more understandable queries in Neapolitan Langu

Donato Rimenti 1.1k Dec 22, 2022
sql2o is a small library, which makes it easy to convert the result of your sql-statements into objects. No resultset hacking required. Kind of like an orm, but without the sql-generation capabilities. Supports named parameters.

sql2o Sql2o is a small java library, with the purpose of making database interaction easy. When fetching data from the database, the ResultSet will au

Lars Aaberg 1.1k Dec 28, 2022
Apache Druid: a high performance real-time analytics database.

Website | Documentation | Developer Mailing List | User Mailing List | Slack | Twitter | Download Apache Druid Druid is a high performance real-time a

The Apache Software Foundation 12.3k Jan 1, 2023
eXist Native XML Database and Application Platform

eXist-db Native XML Database eXist-db is a high-performance open source native XML database—a NoSQL document database and application platform built e

eXist-db.org 363 Dec 30, 2022
Realm is a mobile database: a replacement for SQLite & ORMs

Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the Java version of Realm

Realm 11.4k Jan 5, 2023
Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub.

JetBrains Xodus is a transactional schema-less embedded database that is written in Java and Kotlin. It was initially developed for JetBrains YouTrack

JetBrains 1k Dec 14, 2022
ObjectBox is a superfast lightweight database for objects

ObjectBox Java (Kotlin, Android) ObjectBox is a superfast object-oriented database with strong relation support. ObjectBox is embedded into your Andro

ObjectBox 4.1k Dec 30, 2022
CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time.

About CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time. CrateDB offers the

Crate.io 3.6k Jan 2, 2023
Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub.

JetBrains Xodus is a transactional schema-less embedded database that is written in Java and Kotlin. It was initially developed for JetBrains YouTrack

JetBrains 858 Mar 12, 2021
Java implementation of Condensation - a zero-trust distributed database that ensures data ownership and data security

Java implementation of Condensation About Condensation enables to build modern applications while ensuring data ownership and security. It's a one sto

CondensationDB 43 Oct 19, 2022
R2DBC Driver for Oracle Database

About Oracle R2DBC The Oracle R2DBC Driver is a Java library that supports reactive programming with Oracle Database. Oracle R2DBC implements the R2DB

Oracle 159 Dec 13, 2022
Bu projede Mernis ile Tc kimlik no doğrulanarak database kayıt simülasyonu gerçekleştirildi.

?? CoffeShop Proje Hakkında Nitelikli Yazılımcı Geliştirme kampına aittir. Bu projede Mernis ile Tc kimlik no doğrulanarak database kayıt simülasyonu

Atakan Reyhanioglu 5 Dec 13, 2021
blockchain database, cata metadata query

Drill Storage Plugin for IPFS 中文 Contents Introduction Compile Install Configuration Run Introduction Minerva is a storage plugin of Drill that connec

null 145 Dec 7, 2022