- Notifications
You must be signed in to change notification settings - Fork32
Type-safe data migration tool for Slick, Git and beyond.
License
lastland/scala-forklift
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Scala-Forklift helps manage and apply database migrations for your Scala project.
Write your migrations in plain SQL:
MyMigrations.migrations=MyMigrations.migrations:+SqlMigration(1)(List(sqlu"""create table "users" ("id" INTEGER NOT NULL PRIMARY KEY,"first" VARCHAR NOT NULL,"last" VARCHAR NOT NULL)"""))
Or type-safe Slick queries:
MyMigrations.migrations=MyMigrations.migrations:+DBIOMigration(2)(DBIO.seq(Users++=Seq(UsersRow(1,"Chris","Vogt"),UsersRow(2,"Yao","Li") )))
Or useslick-migration-api:
MyMigrations.migrations=MyMigrations.migrations:+APIMigration(3)(TableMigration(Users). renameColumn(_.first,"firstname"). renameColumn(_.last,"lastname"))
(Note:APIMigration
is not supported in versions prior tov0.2.3
)
Don't worry about keeping the Scala code and your database schema consistent. Our source code generator will have it generated for you.
Key Features:
- Supports for type-safe database migration withSlick andslick-migration-api.
- A source code generator to generate and manage Scala models from your database schemas.
- A tool to help you manage your dev db with git, with supports for branching and merging.
- High customizability.
Scala-Forklift supports both Slick 3.1 and Slick 3.2. The latest versions of Scala-Forklift are given below:
Scala Version | Slick Version | SBT dependency |
---|---|---|
2.11.x | 3.1.x | libraryDependencies += "com.liyaos" %% "scala-forklift-slick" % "0.2.3" |
2.12.x, 2.11.x | 3.2.x | libraryDependencies += "com.liyaos" %% "scala-forklift-slick" % "0.3.1" |
2.13.x, 2.12.x | 3.3.x | libraryDependencies += "com.liyaos" %% "scala-forklift-slick" % "0.3.2" |
For tutorial and example code, please checkexample.
Here is also a wonderfultutorial written by Andreas Burkard and Julian Tragé.
You can use our start template on GitHub to quickly start a project with Scala-Forklift:
git clone https://github.com/lastland/scala-forklift-start-template.git
- The
reset
command may not correctly handle database schemas with foreign keys.
About
Type-safe data migration tool for Slick, Git and beyond.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors10
Uh oh!
There was an error while loading.Please reload this page.