Express と TypeORM で MariaDB に接続


次にあるサンプルを実行してみました。
typeorm /
typescript-express-example

MariaDB の用意

User: scott
Password: tiger123
Database: my_database

プログラムのクローン

git clone https://github.com/typeorm/typescript-express-example

プログラムの準備

cd typescript-express-example
npm install

データベースの接続情報の設定

ormconfig.json
{
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "username": "scott",
  "password": "tiger123",
  "database": "my_database",
  "synchronize": true,
  "entities": [
    "src/entity/*.js"
  ],
  "subscribers": [
    "src/subscriber/*.js"
  ],
  "migrations": [
    "src/migration/*.js"
  ],
  "cli": {
    "entitiesDir": "src/entity",
    "migrationsDir": "src/migration",
    "subscribersDir": "src/subscriber"
  }
}

サーバーの起動

npm start

クライアントでアクセス

$ curl http://localhost:3000/posts
[]

MySQL にデータを入れる

insert.sql
insert into post set title='test_aa', text='Hello';
insert into post set title='test_cc', text='Good Morning';
insert into post set title='test_dd', text='Good Afternoon';
quit

SQL の実行

mysql -uscott -ptiger123 my_database < insert.sql

クライアントからアクセス

$ curl http://localhost:3000/posts | jq .
[
  {
    "id": 9,
    "title": "test_aa",
    "text": "Hello"
  },
  {
    "id": 10,
    "title": "test_cc",
    "text": "Good Morning"
  },
  {
    "id": 11,
    "title": "test_dd",
    "text": "Good Afternoon"
  }
]

IDを指定してアクセス

$ curl http://localhost:3000/posts/10 | jq .
{
  "id": 10,
  "title": "test_cc",
  "text": "Good Morning"
}

データの挿入

curl -X POST -H "Content-Type: application/json" \
    -d '{"title": "test_ee","text": "Good Evening"}' \
    http://localhost:3000/posts

関連ページ
Nest.js と TypeORM で MariaDB に接続