将 YAML 文件的内容加载到 SQLite 数据库表中。
$ yaml-to-sqlite --help
Usage: yaml-to-sqlite [OPTIONS] DB_PATH TABLE YAML_FILE
Convert YAML files to SQLite
Options:
--version Show the version and exit.
--pk TEXT Column to use as a primary key
--single-column TEXT If YAML file is a list of values, populate this column
--help Show this message and exit.
给定一个包含以下内容的 news.yml
文件
- date: 2021-06-05
body: |-
[Datasette 0.57](https://docs.datasette.com.cn/en/stable/changelog.html#v0-57) is out with an important security patch.
- date: 2021-05-10
body: |-
[Django SQL Dashboard](https://simonwillison.net/2021/May/10/django-sql-dashboard/) is a new tool that brings a useful authenticated subset of Datasette to Django projects that are built on top of PostgreSQL.
运行此命令
$ yaml-to-sqlite news.db stories news.yml
将创建一个具有此模式的数据库文件
$ sqlite-utils schema news.db
CREATE TABLE [stories] (
[date] TEXT,
[body] TEXT
);
可以使用 --pk
选项将列设置为表的主键
$ yaml-to-sqlite news.db stories news.yml --pk date
$ sqlite-utils schema news.db
CREATE TABLE [stories] (
[date] TEXT PRIMARY KEY,
[body] TEXT
);
当 YAML 文件是值列表时,可以使用 --single-column
选项,例如一个名为 dogs.yml
的文件,其中包含以下内容
- Cleo
- Pancakes
- Nixie
运行此命令
$ yaml-to-sqlite dogs.db dogs.yaml --single-column=name
将创建一个包含单个 name
列的单个 dogs
表,该列是主键
$ sqlite-utils schema dogs.db
CREATE TABLE [dogs] (
[name] TEXT PRIMARY KEY
);
$ sqlite-utils dogs.db 'select * from dogs' -t
name
--------
Cleo
Pancakes
Nixie