0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-02-24 22:46:02 -05:00
Commit graph

57 commits

Author SHA1 Message Date
Luiz Ferraz
d6611e8bb0
Add support for LibSQL remote (#11385)
* Add support for remote LibSQL

* Add support for local memory DB

* Add some tests

* Add push support

* Fix switch cascading

* Update .changeset/healthy-boxes-poke.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update packages/db/src/runtime/db-client.ts

[skip ci]

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>

* Use independent env vars for LibSQL and Studio backends

* Expand comment regarding missing table

* Apply suggestions from code review

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2024-08-28 12:15:33 +01:00
Emanuele Stoppa
b601e47aff
chore: enable useImportType rule (#11848) 2024-08-27 16:49:42 +01:00
Darius
72c7ae9901
update formatter config (#11640)
* update formatter config

* format

---------

Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
2024-08-08 12:12:50 +02:00
Josh Goldberg ✨
4c1b769bcf
chore: bump typescript-eslint to v8 (#11649) 2024-08-08 17:54:04 +08:00
Oliver Speir
2e6d0d91a0 [ci] format 2024-06-10 15:54:26 +00:00
Oliver Speir
29463dff52
Export type Database from db/runtime (#11216)
* import and export in index.ts

* remove import and export from virtual.ts

* add changset

* Update .changeset/warm-pets-tap.md

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2024-06-10 16:53:38 +01:00
Matthew Phillips
f00ecd4596 [ci] format 2024-05-21 21:13:35 +00:00
Matthew Phillips
e14ce5726d
Fix inconsistent results from raw SQL (#11091)
* Fix inconsistent results from raw SQL

* Remove .only

* Fix

* Update packages/db/src/runtime/db-client.ts

Co-authored-by: Ben Holmes <hey@bholmes.dev>

---------

Co-authored-by: Ben Holmes <hey@bholmes.dev>
2024-05-21 17:12:39 -04:00
Ben Holmes
c135cd546d [ci] format 2024-05-13 16:21:32 +00:00
Ben Holmes
eb1d9a447b
Fix isDbError() for remote errors (#11027)
* fix: use LibsqlError for remote db errors

* chore: remove unused drizzle.ts

* fix(test): return expected `error` object

* fix: error detail formatting

* feat(test): error messages with remote adapter

* feat(test): add code to test body

* chore: changeset
2024-05-13 12:20:43 -04:00
Matthew Phillips
8ef2f62c53 [ci] format 2024-05-08 12:29:08 +00:00
Matthew Phillips
a1343184da
Convert saved non-UTC dates to UTC (#10967)
* Convert saved non-UTC dates to UTC

* Simplify the check

* Simplify check and add link
2024-05-08 08:27:55 -04:00
Ben Holmes
44bafa989a
[db] Fix duplicate calls to recreate tables on startup (#10919)
* fix: move recreateTables() to integration hooks

* feat: recreate and seed at load, not in virtual runtime

* feat: eager build db on startup and seed file change

* fix: respect database_file in dbUrl

* chore: remove duplicate recreateTables call

* chore: remove now self-explanatory comments

* fix: remove invalidateModule call for eager loading

* feat: respect seed package paths

* fix: remove duplicate recreateTables() call

* refactor: move recreateTables() to vite-plugin-db

* refactor: move queries.ts from runtime/ to core/

* fix: update test import to core/queries

* refactor: move executeSeedFile to vite-plugin-db

* refactor: extract seeding and recreating to helper fns

* chore: changeset

* chore: revert connectToStudio refactor

* wip: log db url

* fix(test): normalize astro_database_file flag for windows

* Revert "wip: log db url"

This reverts commit 558e2de67a09a611377929b625127c649b8504d6.

* Revert "Revert "wip: log db url""

This reverts commit ffd004e00dff485b7bc5ddde0278dde6ff058b9e.

* fix: correctly resolve relative paths with unit test

* chore: remove unused dbDirPath

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

* chore: remove unused import

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

* chore: remove unused type

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

* fix: remove bad import

* [db] Load seed files with vite dev server (#10941)

* feat: load seed files with full vite dev server

* chore: remove unused export

---------

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2024-05-03 11:08:50 -04:00
Erika
77e206d7e5 [ci] format 2024-05-01 12:04:47 +00:00
Erika
a0c77fc716
chore: changeset (#10925) 2024-05-01 08:03:55 -04:00
Chris Swithinbank
cf58d1ed56
Improve asDrizzleTable() types (#10882) 2024-04-26 16:07:55 +02:00
Nick Dubelman
d4c91cb109
db: export 'alias' from drizzle-orm/sqlite-core (#10789)
* db: export 'alias' from drizzle-orm/sqlite-core

* chore: changeset

* fix: changeset target

---------

Co-authored-by: Ben Holmes <hey@bholmes.dev>
2024-04-16 17:28:20 -04:00
Jason
6ebd81dbc4
lint: upgrade eslint to version 9 (#10730) 2024-04-15 16:05:10 +08:00
Matthew Phillips
d4b88c79b2 [ci] format 2024-04-04 16:43:57 +00:00
Matthew Phillips
1662aa8a85
Fix compatibility for @astrojs/db with cloudflare (#10677)
* Fix compatibility for @astrojs/db with cloudflare

* Use a manual implementation

* Update lockfile
2024-04-04 12:42:47 -04:00
Ben Holmes
f395ebcc08
refactor: rename "config" file to "virtual" (#10638)
* refactor: rename "config" file to "virtual"

* chore: changeset

* fix(test): config import
2024-04-02 18:13:18 -04:00
Arsh
953695ec2d [ci] format 2024-04-02 15:38:27 +00:00
Arsh
713f99e849
fix(db): isolate AstroDbError from core utils (#10646)
* fix(db): isolate AstroDbError from core utils

* add changeset
2024-04-02 11:37:28 -04:00
Ben Holmes
a544f4cc0e [ci] format 2024-04-01 21:03:37 +00:00
Ben Holmes
504d15d772
db: Better error messages when querying remote (#10636)
* feat: clear error messages on remote db error

* refactor: use AstroDbError for correct error name

* refactor: errorMessage -> responseMessage

* chore: changeset

* fix: revert seed file change

* fix: format seed errors as AstroDbError

* fix: correctly log eager seed errors
2024-04-01 17:02:36 -04:00
Matthew Phillips
ca29764912 [ci] format 2024-04-01 15:41:03 +00:00
Matthew Phillips
157392ee44
Make ASTRO_DATABASE_FILE work with file paths (#10631)
* Make ASTRO_DATABASE_FILE work with file paths

* Use pathToFileURL
2024-04-01 11:39:49 -04:00
Matthew Phillips
4abdb9d285 [ci] format 2024-03-27 13:05:53 +00:00
Matthew Phillips
764d67fc3f
Prevent importing db core from db runtime (#10568)
* Prevent importing db core from db runtime

* Move runtime errors into runtime

* Add changeset
2024-03-27 09:04:39 -04:00
Matthew Phillips
44dacedb3a [ci] format 2024-03-22 15:53:54 +00:00
Matthew Phillips
6576f5d458
Require that ASTRO_STUDIO_REMOTE_DB_URL is defined at runtime (#10533)
* Require that ASTRO_STUDIO_REMOTE_DB_URL is defined at runtime

* Add changeset

* Fix build
2024-03-22 11:52:38 -04:00
Ben Holmes
98b982bdfc [ci] format 2024-03-20 11:29:14 +00:00
Ben Holmes
f0fc78c873
db: expose isDbError() utility (#10498)
* feat: expose isDbError

* test: foreign key constraint error detection

* fix(test); use isDbError

* chore: changeset
2024-03-20 07:27:48 -04:00
Ben Holmes
4831051260
Fix: remove db.transaction() from types until supported (#10501)
* fix: remove transaction from db types

* fix: transaction() runtime error

* chore: changeset
2024-03-20 08:27:48 +00:00
Ben Holmes
ad57a02c33
db: Expose aggregation helpers (#10479)
* deps: drizzle 0.30

* feat: expose drizzle aggregation helpers

* chore: changeset
2024-03-19 08:56:48 +00:00
Ben Holmes
156c094c3e [ci] format 2024-03-18 11:56:49 +00:00
Ben Holmes
219c49473f
fix type error in seed stub on initial setup (#10457)
* fix: move db type to base types for seed stub

* chore: changeset

* fix(test): bad NOW import
2024-03-18 07:55:39 -04:00
Arsh
cdf1ac1292 [ci] format 2024-03-14 18:29:56 +00:00
Arsh
238f047b9d
fix(db): separate utils for runtime (#10443)
* fix(db): separate utils for runtime

* add changeset

* use safeFetch from runtime utils
2024-03-14 14:28:51 -04:00
Erika
2db25c05a4
fix(db): Add a safe db fetch wrapper (#10420)
* fix(db): Add a safe db fetch wrapper

* chore: changeset
2024-03-13 17:12:52 +01:00
Chris Swithinbank
6170122884 [ci] format 2024-03-11 19:09:04 +00:00
Chris Swithinbank
38abae47b5
Fix db for projects without a seed file or with integrations (#10385)
* Add fixture and tests for integration with no user db config

* Create database tables when integration seed files load

* Defer running seed function until all modules are loaded

* Update package name

* Add test & fixture for a project with no seed file

* `recreateTables()` from `seedLocal()` (and move it out of main runtime module)

* Fix typo after rebase

* FREEZE DON’T MOVE

* Move `seedLocal` export back to runtime

* Simplify seed file normalization

* Clean up test files

* Add build tests for no-seed and integration-only fixtures

* Add changeset
2024-03-11 20:07:53 +01:00
Chris Swithinbank
8cceab587d
Use static imports for integration seed files in astro:db (#10381)
* Use static imports for integration seed files in `astro:db`

* Add changeset

* Add build test for integrations fixture

* chore: comment on top-level seed imports

* fix: random db id for tests

* fix: set db id from build before

* wip: remove reset on env variable

* wip: move random db id env to top of test file

* refactor: remove unlink from db startup

* chore: remove random db id completely??

---------

Co-authored-by: bholmesdev <hey@bholmes.dev>
2024-03-11 09:51:15 -04:00
Chris Swithinbank
3f27e09628
Rename defineDB to defineDb (#10364)
* Rename `defineDB` to `defineDb`

* Add changeset

* Improve changeset
2024-03-07 19:21:03 -06:00
Ben Holmes
988aad6705
Add batch support (#10361)
* deps: drizzle preview

* feat: db.batch and method run handling

* refactor: use db.batch in test fixture

* deps: bump to drizzle 0.29.5

* chore: changeset

* fix: unpin drizzle version

* fix: db execute should uh... execute
2024-03-07 14:49:46 -05:00
Chris Swithinbank
2e4958c8a7
Add integrations API for db config/seed files (#10321)
* Add integrations API for adding db config/seed files

* Fix seeding when user seed file is present

* Add basic test and fixture for integrations API

* Freeze that lockfile

* Test to see if this is a Windows fix

* Don’t import.meta.glob integration seed files

* Make integration seed files export a default function

* style: rejiggle

* Fix temporary file conflicts

* Remove changes to Astro’s core types, type utility method instead

* Use `astro:db` instead of `@astrojs/db`

* Revert unnecessarily cautious temporary path name

This reverts commit ef2156e41b.

* Add changeset

* Fix entrypoints and `asDrizzleTable` usage in changeset

* Getting Nate in on the co-author action

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* Fix user seed file in integrations fixture

* Update `seedLocal()` after merge

* Provide empty `seedFiles` array in `db execute`

---------

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2024-03-07 20:19:17 +01:00
Ben Holmes
e086a9f8c8 [ci] format 2024-03-07 18:39:47 +00:00
Ben Holmes
06fe94e29d
Add --remote flag for remote connection (#10352)
* feat: check for --remote

* chore: remove bad ticketing example cols

* fix: get seed file working with build

* Revert "fix: get seed file working with build"

This reverts commit 92830a106164b0997c820a3e0bf2a582018084a0.

* fix: seed from build instead of runtime

* refactor: move recreateTables out of runtime

* Revert "refactor: move recreateTables out of runtime"

This reverts commit d01a802ad7915fabc4c4ac35b2d907eae0538d95.

* fix: in-memory db for test fixture

* chore: changeset

* refactor: generate random db name instead

* refactor: use yargs-parser for flag

* chore: remove in-memory db logi

* refactor: rename random id flag for clarity

* feat: support --remote in dev

* feat: support --remote on shell

* refactor: inline db client

* feat: support --remote on db execute

* chore: stray console log

* chore: remove recreateTables from runtime

* chore: update seeding for new signature

* chore: remove unused error imports
2024-03-07 13:38:43 -05:00
Chris Swithinbank
bad9b583a2
Update seed to use export default function() instead of top-level await (#10334)
* Update fixtures seed files to export default function

* Call default export when running seed files

* Add changeset
2024-03-07 13:04:16 -05:00
Ben Holmes
5a9dab286f
Fix: drizzle vs. config runtime export conflict (#10357)
* fix: drizzle vs config export problem

* chore: remove drizzle runtime export

* chore: changeset
2024-03-07 12:55:33 -05:00