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