Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jthinking/tauri-seaorm-template

Tauri + SeaORM + SQLite template, ORM and Migration support.
https://github.com/jthinking/tauri-seaorm-template

migration orm seaorm sqlite tauri

Last synced: about 1 month ago
JSON representation

Tauri + SeaORM + SQLite template, ORM and Migration support.

Awesome Lists containing this project

README

        

# Tauri + Vue 3 + TypeScript + SeaORM + SQLite

![screenshot](public/screenshot.png)

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.

## Recommended IDE Setup

- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)

## Type Support For `.vue` Imports in TS

Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps:

1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled.
2. Reload the VS Code window by running `Developer: Reload Window` from the command palette.

You can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471).

## SeaORM migration guide

1. Installing sea-orm-cli

```bash
cargo install sea-orm-cli
```

2. Changing working directory

```bash
cd src-tauri
```

3. Creating new migration

> using default directory `./migration`

```bash
sea-orm-cli migrate generate create_post_table
```

4. Updating dev database

> using `DATABASE_URL` var in `.env` file.

```bash
sea-orm-cli migrate fresh
```

5. Regenerate entity files

```bash
rm -rf entity/src/*

sea-orm-cli generate entity -o entity/src --lib --with-serde both
```