feat(db): add SQLite schema, Store CRUD, ULID generation

Foundation layer: entities table with card support, entity_tags join
table, WAL mode, busy_timeout, full CRUD operations including
promote/demote lifecycle and soft/hard delete. 33 tests passing.
This commit is contained in:
2026-05-14 11:08:33 -04:00
parent d2ce5eca29
commit aed38433ae
8 changed files with 1309 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
package ulid
import (
"testing"
)
func TestNew_ReturnsValidULID(t *testing.T) {
id := New()
if len(id) != 26 {
t.Errorf("expected 26 chars, got %d: %s", len(id), id)
}
}
func TestNew_Unique(t *testing.T) {
a := New()
b := New()
if a == b {
t.Errorf("two calls returned same ULID: %s", a)
}
}
func TestNew_Sortable(t *testing.T) {
a := New()
b := New()
if b < a {
t.Errorf("expected b >= a for sequential calls: a=%s b=%s", a, b)
}
}