Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at netboot-syslinux-multiplatform 56 lines 1.3 kB view raw
1{ lib, pkgs, runCommand, prisma }: 2 3let 4 inherit (prisma) packageName; 5 prismaMajorVersion = lib.versions.majorMinor prisma.version; 6 enginesMajorVersion = lib.versions.majorMinor pkgs.prisma-engines.version; 7in 8 9runCommand "${packageName}-tests" { 10 nativeBuildInputs = with pkgs; [ prisma sqlite-interactive ]; 11 meta.timeout = 60; 12} 13 '' 14 mkdir $out 15 cd $out 16 17 if [ "${prismaMajorVersion}" != "${enginesMajorVersion}" ]; then 18 echo "nodePackages.prisma in version ${prismaMajorVersion} and prisma-engines in ${enginesMajorVersion}. Major versions must match." 19 exit 1 20 fi 21 22 # Ensure CLI runs 23 prisma --help > /dev/null 24 25 # Init a new project 26 prisma init > /dev/null 27 28 # Create a simple data model 29 cat << EOF > prisma/schema.prisma 30 datasource db { 31 provider = "sqlite" 32 url = "file:test.db" 33 } 34 35 generator js { 36 provider = "prisma-client-js" 37 } 38 39 model A { 40 id Int @id @default(autoincrement()) 41 b String @default("foo") 42 } 43 EOF 44 45 # Format 46 prisma format > /dev/null 47 48 # Create the database 49 prisma db push --skip-generate > /dev/null 50 51 # The database file should exist and be a SQLite database 52 sqlite3 prisma/test.db "SELECT id, b FROM A" > /dev/null 53 54 # Introspect the database 55 prisma db pull > /dev/null 56 ''