8000 Support schema definitions in the database type · Issue #110 · tomatool/tomato · GitHub
[go: up one dir, main page]

Skip to content

Support schema definitions in the database type #110

Open

Description

@snagles

Is your feature request related to a problem? Please describe.
Define database schema using Gherkin clauses.

Describe the solution you'd like
Support for sql schema definitions inside the feature test files.

Describe alternatives you've considered
Migrations as part of the database setup/teardown process. Support inside the database resource

Activity

  1. alileza commented on Jun 23, 2020

    @alileza
    Member

    This sounds like a good idea, that we'd reduce the database set-up complexity before running tomato. But I have a few questions regarding this approach

    • Does this means all tables will be dropped on each before scenario is executed? if so, that means we need to always specify all table schema on each Feature we wrote, and it will simply a breaking change for our current version of tomato, since they didn't handle the schema specification

    • Is there a use case that we have different schema on each Scenario/Feature?

    • If there isn't, maybe we could have this feature as part of init process rather than resource action. For example,

    resources:
         - name: tomato-mysql
           type: mysql
           params:
             datasource: mysql://user:pass@tcp(localhost:3306)/hello
             initdb: some-path/dbschema.sql
  2. snagles commented on Aug 5, 2020

    @snagles
    CollaboratorAuthor

    I think you raise some good points, I'm not sure if it would make sense in the Gherkin clauses considering the breaking changes. I like the thought of a general init stage for the resource in this case, I could see this even expanding for other resources (e.g wiremock) that have a similar set of procedures for the initializing process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0