002f47d34523

Initial commit
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Thu, 28 Mar 2024 10:41:20 -0400
parents
children 6878b5690d2e
branches/tags (none)
files .ffignore .hgignore LICENSE.markdown Makefile README.markdown dbvolve.asd docs/01-usage.markdown docs/02-reference.markdown docs/03-changelog.markdown docs/api.lisp docs/footer.markdown docs/index.markdown docs/title src/main.lisp src/package.lisp

Changes

--- /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
--- /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
--- /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.
--- /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
--- /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:** <https://docs.stevelosh.com/dbvolve/>
+* **Mercurial:** <https://hg.stevelosh.com/dbvolve/>
+* **Git:** <https://github.com/sjl/dbvolve/>
--- /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 <steve@stevelosh.com>"
+  :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")))))
--- /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]
--- /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`
+
--- /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]
+
--- /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")
+
--- /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 @@
+<i>Made with Lisp and love by [Steve Losh][].</i>
+
+[Steve Losh]: http://stevelosh.com/
--- /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:** <https://docs.stevelosh.com/dbvolve/>
+* **Mercurial:** <https://hg.stevelosh.com/dbvolve/>
+* **Git:** <https://github.com/sjl/dbvolve/>
--- /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
--- /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)
--- /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
+    ))