# HG changeset patch # User Steve Losh # Date 1711636880 14400 # Node ID 002f47d3452381f96214a896304259986876fa93 Initial commit diff -r 000000000000 -r 002f47d34523 .ffignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.ffignore Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,1 @@ +docs/build diff -r 000000000000 -r 002f47d34523 .hgignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,5 @@ +syntax: glob + +scratch.lisp +*.png +docs/build diff -r 000000000000 -r 002f47d34523 LICENSE.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE.markdown Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,19 @@ +Copyright (c) 2024 Steve Losh and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff -r 000000000000 -r 002f47d34523 Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,40 @@ +.PHONY: test test-sbcl test-ccl test-ecl test-abcl pubdocs + +heading_printer = $(shell which heading || echo 'true') +sourcefiles = $(shell ffind --full-path --literal .lisp) +docfiles = $(shell ls docs/*.markdown) +apidocs = $(shell ls docs/*reference*.markdown) + +# Testing --------------------------------------------------------------------- +test: test-sbcl test-ccl test-ecl test-abcl + +test-sbcl: + $(heading_printer) computer 'SBCL' + time sbcl --load test/run.lisp + +test-ccl: + $(heading_printer) slant 'CCL' + time ccl --load test/run.lisp + +test-ecl: + $(heading_printer) roman 'ECL' + time ecl -load test/run.lisp + +test-abcl: + $(heading_printer) broadway 'ABCL' + time abcl --load test/run.lisp + +# Documentation --------------------------------------------------------------- +$(apidocs): $(sourcefiles) + sbcl --noinform --load docs/api.lisp --eval '(quit)' + +docs/build/index.html: $(docfiles) $(apidocs) docs/title + cd docs && ~/bin/venvs/tools/bin/d + +docs: docs/build/index.html + +pubdocs: docs + hg -R ~/src/docs.stevelosh.com pull -u + rsync --delete -a ./docs/build/ ~/src/docs.stevelosh.com/dbvolvet + hg -R ~/src/docs.stevelosh.com commit -Am 'dbvolvet: Update site.' + hg -R ~/src/docs.stevelosh.com push diff -r 000000000000 -r 002f47d34523 README.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.markdown Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,12 @@ +DBvolve +====== + +DBvolve is a library for evolving your database schema over time. + +It's not named "migrate" because migration has to be round-trip, and DBvolve +intentionally does not support backwards migrations. + +* **License:** MIT +* **Documentation:** +* **Mercurial:** +* **Git:** diff -r 000000000000 -r 002f47d34523 dbvolve.asd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbvolve.asd Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,14 @@ +(asdf:defsystem :dbvolve + :description "Database schema evolution." + :author "Steve Losh " + :homepage "https://docs.stevelosh.com/dbvolve/" + + :license "MIT" + :version "0.0.1" + + :depends-on () + + :serial t + :components ((:module "src" :serial t + :components ((:file "package") + (:file "main"))))) diff -r 000000000000 -r 002f47d34523 docs/01-usage.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/01-usage.markdown Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,9 @@ +Usage +===== + +DBvolve is a lightweight library for evolving a database schema over time. It +might be called a "database migration library" except that "migrations" are +round-trip, and DBvolve explicitly and intentionally does not support backwards +migrations. + +[TOC] diff -r 000000000000 -r 002f47d34523 docs/02-reference.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/02-reference.markdown Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,14 @@ +# API Reference + +The following is a list of all user-facing parts of DBvolve. + +If there are backwards-incompatible changes to anything listed here, they will +be noted in the changelog and the author will feel bad. + +Anything not listed here is subject to change at any time with no warning, so +don't touch it. + +[TOC] + +## Package `DBVOLVE` + diff -r 000000000000 -r 002f47d34523 docs/03-changelog.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/03-changelog.markdown Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,7 @@ +Changelog +========= + +Here's the list of changes in each released version. + +[TOC] + diff -r 000000000000 -r 002f47d34523 docs/api.lisp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/api.lisp Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,20 @@ +(ql:quickload "cl-d-api") + +(defparameter *header* + "The following is a list of all user-facing parts of DBvolve. + +If there are backwards-incompatible changes to anything listed here, they will +be noted in the changelog and the author will feel bad. + +Anything not listed here is subject to change at any time with no warning, so +don't touch it. + +") + +(d-api:generate-documentation + :dbvolve + #p"docs/02-reference.markdown" + (list "DBVOLVE") + *header* + :title "API Reference") + diff -r 000000000000 -r 002f47d34523 docs/footer.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/footer.markdown Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,3 @@ +Made with Lisp and love by [Steve Losh][]. + +[Steve Losh]: http://stevelosh.com/ diff -r 000000000000 -r 002f47d34523 docs/index.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/index.markdown Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,9 @@ +DBvolve is a library for evolving your database schema over time. + +It's not named "migrate" because migration has to be round-trip, and DBvolve +intentionally does not support backwards migrations. + +* **License:** MIT +* **Documentation:** +* **Mercurial:** +* **Git:** diff -r 000000000000 -r 002f47d34523 docs/title --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/title Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,1 @@ +DBvolve diff -r 000000000000 -r 002f47d34523 src/main.lisp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main.lisp Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,1 @@ +(in-package :dbvolve) diff -r 000000000000 -r 002f47d34523 src/package.lisp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/package.lisp Thu Mar 28 10:41:20 2024 -0400 @@ -0,0 +1,4 @@ +(defpackage :dbvolve + (:use :cl) + (:export + ))