SeaORM 0.8.0의 새로운 기능
9484 단어 opensourcerustgithuntnews
0.8.0
을 출시하게 되어 기쁩니다! 주요 기능 🌟은 다음과 같습니다.Migration Utilities가 sea-orm-migration 크레이트로 이동됨
[ #666 ] SeaORM 마이그레이션 유틸리티가
sea-schema
에서 sea-orm-migration
크레이트로 이동되었습니다. 사용자는 다음 단계에 따라 이전 버전에서 업그레이드하는 것이 좋습니다.sea-orm
버전을 0.8.0
로 범프합니다. sea-schema
크레이트에서 sea-orm-migration
종속성을 migration
로 바꿉니다.```diff 제목=migration/Cargo.toml
[의존성]
```
use sea_schema::migration::
상자에서 use sea_orm_migration::
를 찾아 migration
로 바꿉니다.- use sea_schema::migration::prelude::*;
+ use sea_orm_migration::prelude::*;
- use sea_schema::migration::*;
+ use sea_orm_migration::*;
에 의해 설계된:
제공자:
새 마이그레이션 생성
[ #656 ]
migrate generate
하위 명령을 사용하여 새 마이그레이션을 생성할 수 있습니다. 새 마이그레이션을 더 이상 수동으로 추가할 필요가 없으므로 마이그레이션 프로세스가 간소화됩니다.# A migration file `MIGRATION_DIR/src/mYYYYMMDD_HHMMSS_create_product_table.rs` will be created.
# And, the migration file will be imported and included in the migrator located at `MIGRATION_DIR/src/lib.rs`.
sea-orm-cli migrate generate create_product_table
제안 및 제공자:
기본값으로 하나 삽입
[ #589 ] 기본값으로 채워진 행을 삽입합니다. 대상 테이블에는 모든 열에 대해 정의된 기본값이 있어야 합니다.
let pear = fruit::ActiveModel {
..Default::default() // all attributes are `NotSet`
};
// The SQL statement:
// - MySQL: INSERT INTO `fruit` VALUES ()
// - SQLite: INSERT INTO "fruit" DEFAULT VALUES
// - PostgreSQL: INSERT INTO "fruit" VALUES (DEFAULT) RETURNING "id", "name", "cake_id"
let pear: fruit::Model = pear.insert(db).await?;
에 의해 제안:
제공자:
ActiveModel이 변경되었는지 확인
[ #683 ]
ActiveModel
메서드를 사용하여 Set
의 필드가 is_changed
인지 확인할 수 있습니다.let mut fruit: fruit::ActiveModel = Default::default();
assert!(!fruit.is_changed());
fruit.set(fruit::Column::Name, "apple".into());
assert!(fruit.is_changed());
에 의해 제안:
제공자:
사소한 개선
max_connections
하위 명령에 sea-orm-cli generate entity
옵션 추가 Eq
에 대한 Clone
및 DbErr
도출제안 및 제공자:
통합 예
SeaORM은 비동기 생태계의 다른 크레이트와 잘 어울립니다. 일반적인 RESTful 프레임워크 및 gRPC 프레임워크와 쉽게 통합할 수 있습니다. 작동 방식을 보려면 새로운 제품Tonic example을 확인하십시오. 더 많은 예wanted !
누가 SeaORM을 사용하고 있습니까?
다음 제품은 SeaORM으로 구동됩니다.
Caido : 경량 웹 보안 감사 툴킷
Sensei : 비트코인 번개 노드 구현
Svix : 기업용 웹후크 서비스
SeaORM은 실험적인 그래프 데이터베이스 및 쿼리 엔진인 StarfishQL의 기반입니다.
더 많은 프로젝트는 Built with SeaORM을 참조하십시오.
스폰서
우리GitHub Sponsor의 프로필이 올라갔습니다! 관대함을 느끼신다면 소액의 기부가 매우 감사하겠습니다.
스폰서 여러분께 큰 박수를 보냅니다 😇:
지역 사회
SeaQL은 커뮤니티 주도 프로젝트입니다. Rust의 미래를 위해 참여하고, 기여하고, 함께 구축하는 것을 환영합니다.
다음은 SeaORM
0.9.x
의 로드맵입니다.GSoC 2022
Google Summer of Code 2022mentor organization로 선정되어 매우 기쁩니다. 신청은 마감되었지만 프로그램은 곧 시작됩니다! project ideas 을(를) 구현할 방법에 대한 생각이 있으시면 언제든지 토론에 참여하십시오.
Reference
이 문제에 관하여(SeaORM 0.8.0의 새로운 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/seaql/whats-new-in-seaorm-080-3cf5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)