playframework / playframework/play-ebean

EbeanPlugin: Add support for read-only data-sources

Open
#118 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status:backlog
Dominant language
Java
Stars
111
Forks
67
Avg merge
1d 11h
Merged PRs (30d)
19

Description

Originally from https://github.com/playframework/playframework/issues/3237

Currently (Play 2.2, Play 2.3) when using multiple data-sources then it is not possible to disable evolutions and DDL automatic generation. This is usually not a problem, but becomes a problem with at least one of the sources being read-only.

There is a PR for disabling evolutions for specific data-sources, but there is no way to disable DDL generation per data-source. Only way is to disable EbeanPlugin DDL generation globally like this:

evolutionplugin=disabled
This does not solve the problem, because we want evolutions for non-read-only datasources.

Currently, when evolutionplugin is enabled (the default behavior) then evolution scripts are generated automatically by using DDL extraction here. The scripts are created and created and since this is a read-only datasource then they cannot be applied.

There should be a data-source specific option to disable automatic DDL generation.

PS! The option name evolutionplugin is also misleading for this particular use-case.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the EbeanPlugin configuration and the DDL extraction path described in the issue, then trace how the evolutionplugin setting is applied across data-sources. Determine where a data-source-specific option can control automatic DDL generation while leaving evolutions enabled for other sources. Done means read-only sources no longer generate unappliable DDL scripts and other sources retain their existing evolution behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.